All Projects → CalebEverett → metaplex-cli

CalebEverett / metaplex-cli

Licence: other
Command line interface for Solana Metaplex programs.

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to metaplex-cli

metaboss
The Metaplex NFT-standard Swiss Army Knife tool.
Stars: ✭ 575 (+3493.75%)
Mutual labels:  nft, solana, metaplex
metaplex
A directory of what the Metaplex Foundation works on!
Stars: ✭ 3,233 (+20106.25%)
Mutual labels:  nft, solana, metaplex
fetch-nft
🖼🎑🌠 A utility to fetch and easily display Ethereum & Solana NFTs in a common format given any wallet
Stars: ✭ 83 (+418.75%)
Mutual labels:  nft, solana, metaplex
solana-nft-monitor
Monitor Solana NFT projects using Github Actions + flatgithub.com
Stars: ✭ 31 (+93.75%)
Mutual labels:  nft, solana
MetaplexMetadata-js
Get the Metaplex Metadata from NFTs with Metaplex standard
Stars: ✭ 48 (+200%)
Mutual labels:  nft, solana
arloader
Rust command line application and client for uploading files to Arweave.
Stars: ✭ 79 (+393.75%)
Mutual labels:  nft, solana
air-support
Airdrop automation tools for Solana from The Skeleton Crew
Stars: ✭ 112 (+600%)
Mutual labels:  nft, solana
awesome-defi
Curated list of awesome DeFi protocols, dapps, wallets and other resources
Stars: ✭ 36 (+125%)
Mutual labels:  nft, solana
solana-nft-token-metadata-update
Node.js script to update NFT Token metadata on Solana Blockchain
Stars: ✭ 143 (+793.75%)
Mutual labels:  nft, solana
tenk
Template for making a NFT contract with a raffle of tokens
Stars: ✭ 32 (+100%)
Mutual labels:  nft
nft-generator-py
Unique image & metadata generation using weighted layer collections.
Stars: ✭ 127 (+693.75%)
Mutual labels:  nft
kalwalt-interactivity-AR
Some various experiments with Ar.js and Three.js
Stars: ✭ 65 (+306.25%)
Mutual labels:  nft
wordpress-nft-plugin
NFT Auction Product Type WordPress Plugin for WooCommerce – BID HAUS
Stars: ✭ 197 (+1131.25%)
Mutual labels:  nft
nft-contracts
Open-source NFT contracts used by buildship.dev
Stars: ✭ 60 (+275%)
Mutual labels:  nft
waifusion-site
The new Waifusion dApp website in React (old website in v1 branch)
Stars: ✭ 20 (+25%)
Mutual labels:  nft
nft-website
NFT School: Community education platform for developers in the non-fungible token space.
Stars: ✭ 260 (+1525%)
Mutual labels:  nft
dex-v4
Orderbook-based on-chain SPL token swap market
Stars: ✭ 36 (+125%)
Mutual labels:  solana
elven-nft-minter-sc
Elven Tools SC - Smart Contract for launching NFTs collections on the Elrond blockchain
Stars: ✭ 30 (+87.5%)
Mutual labels:  nft
nft.storage
😋 Free decentralized storage and bandwidth for NFTs on IPFS and Filecoin.
Stars: ✭ 309 (+1831.25%)
Mutual labels:  nft
Auto Chrome 2
A program that lets you automate mundane and repetitive tasks in a proxy chrome browser. presets include Rarible and Opensea minting automation. make your own presets for anything inside chrome.
Stars: ✭ 17 (+6.25%)
Mutual labels:  nft

Metaplex Command Line Interface

This is a command line interface for creating and managing non-fungible tokens on the Solana blockchain through the Metaplex programs/ The current application can be used to create single tokens and upload single files, but will be enhanced in the coming days to support bulk operations and create and manage auctions and candy stores.

Implemented commands

  • mint-create: create a new token mint - same command as in spl-token, included here for convenience.
  • mint-supply: display supply of tokens from mint - same command as in spl-token, included here for convenience.
  • mint-info: display information for an existing mint account.
  • metadata-info: display information for an existing metadata account.
  • metadata-create: create a new metadata account for an existing mint, including creators and shares.
  • metadata-update: update an existing metadata account by providing either a mint or metadata account address and providing values for one or more updatable fields:
    • new_update_authority
    • name
    • symbol
    • uri
    • seller_fee_basis_points
    • creators
    • primary_sale_happened
  • nft-create: create a de novo nft including mint, token account, metadata account and master edition.

Usage

Create an NFT

cargo-run -- nft-create

This brief command kicks off the process of minting a token, creating a token account, minting one token to the account, creating a metadata account and finally, creating a master edition. You can add one or more values for name, symbol, uri, or creators after nft-create. Creator shares have to sum to 100, values are specified in whole integer percentages and if you provide any creators, one of them has to be the same as the update authority. The update authority defaults to the wallet address in the local Solana config, but you can provide another one by flag.

View Metadata Info

cargo-run -- metadata-info Cbg5o1tarienqQeQ8FcS6inGw2edrZ73znyYhVFtXa8b

You can pass either the metadata account or token mint address. Without any values provided for the metadata fields, this produces a blank NFT, but it can be updated later since the --immutable flag wasn't set.


Address: qHFGEW7vnW61Arupoo4WcV3uqoDiRRhFv3fzHGPusBt
Key: MetadataV1
Update Authority: 61mVTaw6hBtwWnSaGXRSJePFWEQqipeCka3evytEVNUp
Mint: Cbg5o1tarienqQeQ8FcS6inGw2edrZ73znyYhVFtXa8b
Primary Sale Happened: false
Is Mutable: true
Edition Nonce: 255
Name:
Symbol:
Uri:
Seller Fee Basis Points: 0

If you want the output in json, you can add json or json-compact to the --output flag.

cargo run -- metadata-info --output json Cbg5o1tarienqQeQ8FcS6inGw2edrZ73znyYhVFtXa8b

{
  "address": "qHFGEW7vnW61Arupoo4WcV3uqoDiRRhFv3fzHGPusBt",
  "metadata": {
    "key": "MetadataV1",
    "updateAuthority": "61mVTaw6hBtwWnSaGXRSJePFWEQqipeCka3evytEVNUp",
    "mint": "Cbg5o1tarienqQeQ8FcS6inGw2edrZ73znyYhVFtXa8b",
    "name": "",
    "symbol": "",
    "uri": "",
    "sellerFeeBasisPoints": "0",
    "creators": null,
    "primarySaleHappened": false,
    "isMutable": true,
    "editionNonce": "255"
  }
}

Update Metadata

Metadata can be updated with the metadata-update command, providing at least one additional flag with the value to be updated. Creators are specified with an address followed by a colon and then the respective share. For example, if we wanted to update the above metadata, we could enter:

cargo run -- metadata-update qHFGEW7vnW61Arupoo4WcV3uqoDiRRhFv3fzHGPusBt \
    --name "My NFT" --symbol "NFT" \
    --creators 61mVTaw6hBtwWnSaGXRSJePFWEQqipeCka3evytEVNUp:50 7oHuVGKc5ZA2tdJX2xLxfUuZPf4RWMsEuNFWkByZNNs7:50 \
    --uri ipfs://tbd

Same as with nft-create, you can provide either the token mint address or the metadata account address.

cargo run -- metadata-info Cbg5o1tarienqQeQ8FcS6inGw2edrZ73znyYhVFtXa8b

to see the updates:

Address: qHFGEW7vnW61Arupoo4WcV3uqoDiRRhFv3fzHGPusBt
Key: MetadataV1
Update Authority: 61mVTaw6hBtwWnSaGXRSJePFWEQqipeCka3evytEVNUp
Mint: Cbg5o1tarienqQeQ8FcS6inGw2edrZ73znyYhVFtXa8b
Primary Sale Happened: false
Is Mutable: true
Edition Nonce: 255
Name: My NFT
Symbol: NFT
Uri: ipfs://tbd
Seller Fee Basis Points: 0
Creators: 2
  [0] Address: 61mVTaw6hBtwWnSaGXRSJePFWEQqipeCka3evytEVNUp
      Verified: false
      Share: 50

  [1] Address: 7oHuVGKc5ZA2tdJX2xLxfUuZPf4RWMsEuNFWkByZNNs7
      Verified: false
      Share: 50

You don't have to provide all of the arguments for updating. You can provide as few as one up to all, but if you update the creators, you have to provide the complete set. For example if we just wanted to update the uri, we could just run.

cargo run -- metadata-update Cbg5o1tarienqQeQ8FcS6inGw2edrZ73znyYhVFtXa8b --uri ipfs://updated_uri

and then to see that just the uri has been updated.

cargo run -- metadata-info Cbg5o1tarienqQeQ8FcS6inGw2edrZ73znyYhVFtXa8b
Address: qHFGEW7vnW61Arupoo4WcV3uqoDiRRhFv3fzHGPusBt
Key: MetadataV1
Update Authority: 61mVTaw6hBtwWnSaGXRSJePFWEQqipeCka3evytEVNUp
Mint: Cbg5o1tarienqQeQ8FcS6inGw2edrZ73znyYhVFtXa8b
Primary Sale Happened: false
Is Mutable: true
Edition Nonce: 255
Name: My NFT
Symbol: NFT
Uri: ipfs://updated_uri
Seller Fee Basis Points: 0
Creators: 2
  [0] Address: 61mVTaw6hBtwWnSaGXRSJePFWEQqipeCka3evytEVNUp
      Verified: false
      Share: 50

  [1] Address: 7oHuVGKc5ZA2tdJX2xLxfUuZPf4RWMsEuNFWkByZNNs7
      Verified: false
      Share: 50

Todo

  • Upload to storage
  • Creator verification
  • Add individual commands for minting tokens and creating master editions
  • Display edition info
  • Create and update from json files
  • Integration tests
  • Bulkify
  • Vault
  • Auction
  • Candy Store
  • Fractionalization
  • Custom Edition Metadata
  • Remote Wallet

Implementation Details

metaplex_cli

The command line interface includes output features and cli tooling from the Solana token program cli, including the ability to produce output for display or json, either normal or compact, and use default values from solana-cli local config. It also makes use of solana-clap-utils for efficient validation and argument parsing.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].