diff --git a/ts/cluster1/nft_image.ts b/ts/cluster1/nft_image.ts new file mode 100644 index 0000000..6bd4043 --- /dev/null +++ b/ts/cluster1/nft_image.ts @@ -0,0 +1,25 @@ +import wallet from "../wba-wallet.json" +import { createUmi } from "@metaplex-foundation/umi-bundle-defaults" +import { createGenericFile, createSignerFromKeypair, signerIdentity } from "@metaplex-foundation/umi" +import { createBundlrUploader } from "@metaplex-foundation/umi-uploader-bundlr" + +// Create a devnet connection +const umi = createUmi('https://api.devnet.solana.com'); +const bundlrUploader = createBundlrUploader(umi); + +let keypair = umi.eddsa.createKeypairFromSecretKey(new Uint8Array(wallet)); +const signer = createSignerFromKeypair(umi, keypair); + +umi.use(signerIdentity(signer)); + +(async () => { + try { + // const image = ??? + + // const [myUri] = ??? + // console.log("Your image URI: ", myUri); + } + catch(error) { + console.log("Oops.. Something went wrong", error); + } +})(); \ No newline at end of file diff --git a/ts/cluster1/nft_metadata.ts b/ts/cluster1/nft_metadata.ts new file mode 100644 index 0000000..27ad0f9 --- /dev/null +++ b/ts/cluster1/nft_metadata.ts @@ -0,0 +1,42 @@ +import wallet from "../wba-wallet.json" +import { createUmi } from "@metaplex-foundation/umi-bundle-defaults" +import { createGenericFile, createSignerFromKeypair, signerIdentity } from "@metaplex-foundation/umi" +import { createBundlrUploader } from "@metaplex-foundation/umi-uploader-bundlr" + +// Create a devnet connection +const umi = createUmi('https://api.devnet.solana.com'); +const bundlrUploader = createBundlrUploader(umi); + +let keypair = umi.eddsa.createKeypairFromSecretKey(new Uint8Array(wallet)); +const signer = createSignerFromKeypair(umi, keypair); + +umi.use(signerIdentity(signer)); + +(async () => { + try { + // const image = ??? + const metadata = { + name: "?", + symbol: "?", + description: "?", + image: "?", + attributes: [ + {trait_type: '?', value: '?'} + ], + properties: { + files: [ + { + type: "image/png", + uri: "?" + }, + ] + }, + creators: [] + }; + // const myUri = ??? + // console.log("Your image URI: ", myUri); + } + catch(error) { + console.log("Oops.. Something went wrong", error); + } +})(); \ No newline at end of file diff --git a/ts/cluster1/nft_mint.ts b/ts/cluster1/nft_mint.ts new file mode 100644 index 0000000..c135323 --- /dev/null +++ b/ts/cluster1/nft_mint.ts @@ -0,0 +1,26 @@ +import { createUmi } from "@metaplex-foundation/umi-bundle-defaults" +import { createSignerFromKeypair, signerIdentity, generateSigner, percentAmount } from "@metaplex-foundation/umi" +import { createNft, mplTokenMetadata } from "@metaplex-foundation/mpl-token-metadata"; + +import wallet from "../wba-wallet.json" +import base58 from "bs58"; + +const RPC_ENDPOINT = "https://api.devnet.solana.com"; +const umi = createUmi(RPC_ENDPOINT); + +let keypair = umi.eddsa.createKeypairFromSecretKey(new Uint8Array(wallet)); +const myKeypairSigner = createSignerFromKeypair(umi, keypair); +umi.use(signerIdentity(myKeypairSigner)); +umi.use(mplTokenMetadata()) + +const mint = generateSigner(umi); + +(async () => { + // let tx = ??? + // let result = await tx.sendAndConfirm(umi); + // const signature = base58.encode(result.signature); + + // console.log(`Succesfully Minted! Check out your TX here:\nhttps://explorer.solana.com/tx/${signature}?cluster=devnet`) + + console.log("Mint Address: ", mint.publicKey); +})(); \ No newline at end of file diff --git a/ts/package.json b/ts/package.json index 2950967..a6eed97 100644 --- a/ts/package.json +++ b/ts/package.json @@ -13,13 +13,17 @@ "spl_init": "ts-node ./cluster1/spl_init.ts", "spl_mint": "ts-node ./cluster1/spl_mint.ts", "spl_transfer": "ts-node ./cluster1/spl_transfer.ts", - "spl_metadata": "ts-node ./cluster1/spl_metadata.ts" + "spl_metadata": "ts-node ./cluster1/spl_metadata.ts", + "nft_image": "ts-node ./block1/nft_image.ts", + "nft_metadata": "ts-node ./block1/nft_metadata.ts", + "nft_mint": "ts-node ./block1/nft_mint.ts" }, "dependencies": { "@coral-xyz/anchor": "0.29.0", "@metaplex-foundation/mpl-token-metadata": "3.1.1", "@metaplex-foundation/umi": "^0.8.10", "@metaplex-foundation/umi-bundle-defaults": "^0.8.10", + "@metaplex-foundation/umi-uploader-bundlr": "^0.8.10", "@solana/spl-token": "^0.3.9", "@solana/web3.js": "^1.87.6", "@types/node": "^20.9.3",