![]() |
VOOZH | about |
dotnet add package Solana.Metaplex --version 8.0.0
NuGet\Install-Package Solana.Metaplex -Version 8.0.0
<PackageReference Include="Solana.Metaplex" Version="8.0.0" />
<PackageVersion Include="Solana.Metaplex" Version="8.0.0" />Directory.Packages.props
<PackageReference Include="Solana.Metaplex" />Project file
paket add Solana.Metaplex --version 8.0.0
#r "nuget: Solana.Metaplex, 8.0.0"
#:package Solana.Metaplex@8.0.0
#addin nuget:?package=Solana.Metaplex&version=8.0.0Install as a Cake Addin
#tool nuget:?package=Solana.Metaplex&version=8.0.0Install as a Cake Tool
Solnet is Solana's .NET integration library, a number of packages that implement features to interact with Solana from .Net applications. This SDK only covers NFTs and the vault program. More support for Bubblegum and the Auction house coming soon!
Solnet.Metaplex is a package within the same Solnet. namespace that implements a Client for Metaplex, this project is in a
separate repository so it is contained, as the goal for Solnet was to be a core SDK.
Backport to .NET standard 2.0 is available on Nuget under version 4.0.0
Create & Mint a Fungible, Semi-Fungible, Non-Fungible, or Programmable metadata token
var client = ClientFactory.GetClient( Cluster.DevNet);
var exampleWallet = new Wallet.Wallet(pk);
//Get your account either by the wallet or directly from the private key
Account ownerAccount = exampleWallet.Account;
Account mintAccount = exampleWallet.GetAccount(75);
Console.WriteLine("Using account public key : {0}", ownerAccount.PublicKey );
//Create the creator list
List<Creator> creatorList = new List<Creator>
{
new Creator(ownerAccount.PublicKey, 100, true)
};
//If there is more than one then you can add more
//creatorList.Add(new Creator(new PublicKey("")))
Metadata tokenMetadata = new Metadata
{
name = "SolNET NFT",
symbol = "SOLNET",
sellerFeeBasisPoints = 500,
uri = "arweave link",
creators = creatorList,
//If your NFT has a parent collection NFT. You can specify it here
//collection = new Collection(collectionAddress),
uses = new Uses(UseMethod.Single, 5, 5),
//If your NFT is programmable and has a ruleset then specify it here
//programmableConfig = new ProgrammableConfig(rulesetAddress)
};
//Easily create any type of metadata token. Any nullable parameters can be overrided to provide the data needed to create complex metadata tokens or use legacy instructions
MetaplexClient metaplexClient = new MetaplexClient(client);
await metaplexClient.CreateNFT(ownerAccount, mintAccount, TokenStandard.NonFungible, tokenMetadata, false, true);
Get the metadata of a token
string pk = "token address here"
Console.WriteLine("### Get Metadata example ###");
Console.WriteLine("Getting account {0}", pk );
var client = ClientFactory.GetClient( Cluster.MainNet);
var account = await MetadataAccount.GetAccount( client, new PublicKey(pk ));
Console.WriteLine( $"Owner: {account.owner}");
Console.WriteLine( $"Authority key: {account.updateAuthority}");
Console.WriteLine( $"Mint key: {account.mint}");
Console.WriteLine( $"Name: {account.metadata.name}");
Console.WriteLine( $"Symbol: {account.metadata.symbol}");
Console.WriteLine( $"Uri: {account.metadata.uri}");
Console.WriteLine( $"SellerFeeBasisPoints: {account.metadata.sellerFeeBasisPoints}");
Console.WriteLine( $"---Creators---");
foreach( Creator c in account.metadata.creators)
{
Console.WriteLine( $"Creator Key: {c.key}");
Console.WriteLine( $"Creator Share: {c.share}");
Console.WriteLine( $"Creator is verified: {c.verified}");
}
Console.WriteLine( "-------Metadata-------");
Console.WriteLine($"Name: {account.offchainData.name}");
Console.WriteLine($"Description: {account.offchainData.description}");
Console.WriteLine($"Symbol: {account.offchainData.symbol}");
Console.WriteLine($"Collection: {account.offchainData.collection}");
Console.WriteLine($"Default Image: { account.offchainData.default_image }" );
Console.WriteLine($"Animation url: {account.offchainData.animation_url}");
foreach (var attribute in account.offchainData.attributes)
{
if(attribute != null)
Console.WriteLine($"Attribute: { attribute.trait_type } | { attribute.value }");
}
Console.WriteLine ( "------------------");
We encourage everyone to contribute, submit issues, PRs, discuss. Every kind of help is welcome.
See also the list of contributors who participated in this project.
This project is licensed under the MIT License - see the LICENSE file for details
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 net8.0 is compatible. net8.0-android net8.0-android was computed. net8.0-browser net8.0-browser was computed. net8.0-ios net8.0-ios was computed. net8.0-maccatalyst net8.0-maccatalyst was computed. net8.0-macos net8.0-macos was computed. net8.0-tvos net8.0-tvos was computed. net8.0-windows net8.0-windows was computed. net9.0 net9.0 was computed. net9.0-android net9.0-android was computed. net9.0-browser net9.0-browser was computed. net9.0-ios net9.0-ios was computed. net9.0-maccatalyst net9.0-maccatalyst was computed. net9.0-macos net9.0-macos was computed. net9.0-tvos net9.0-tvos was computed. net9.0-windows net9.0-windows was computed. net10.0 net10.0 was computed. net10.0-android net10.0-android was computed. net10.0-browser net10.0-browser was computed. net10.0-ios net10.0-ios was computed. net10.0-maccatalyst net10.0-maccatalyst was computed. net10.0-macos net10.0-macos was computed. net10.0-tvos net10.0-tvos was computed. net10.0-windows net10.0-windows was computed. |
Showing the top 3 NuGet packages that depend on Solana.Metaplex:
| Package | Downloads |
|---|---|
|
SolmangoNET
A .NET library that adds some useful composite RPC calls to the Solana chain to simply NFT collections management. |
|
|
Siamango.SolmangoNET
A .NET library that adds some useful composite RPC calls to the Solana chain to simply NFT collection management. |
|
|
Solana.LinkStream
LinkStream is middleware designed to be integrated into applications or games that use Solana's solnet C# client. Utilizing TCP server & client protocols to send transaction messages from dapps to wallet based applications |
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 8.0.0 | 30,923 | 5/9/2024 |
| 6.9.0 | 813 | 5/9/2024 |
| 6.8.2 | 14,765 | 8/2/2023 |
| 6.8.1 | 896 | 3/20/2023 |
| 6.8.0 | 840 | 3/2/2023 |
| 4.8.2 | 686 | 8/2/2023 |
| 4.8.1 | 820 | 3/20/2023 |
| 4.8.0 | 808 | 3/2/2023 |
| 3.0.0 | 1,217 | 11/8/2022 |
| 2.0.0 | 1,049 | 10/4/2022 |
| 1.3.0 | 5,632 | 3/24/2022 |
| 1.2.0 | 2,134 | 2/8/2022 |
| 1.2.0-NET5 | 682 | 2/8/2022 |
| 0.9.0 | 1,276 | 2/8/2022 |