Added NFT challenges

This commit is contained in:
aresastro
2023-11-23 22:18:39 +08:00
parent e240b81829
commit 7642fe1d41
4 changed files with 98 additions and 1 deletions

25
ts/cluster1/nft_image.ts Normal file
View File

@@ -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);
}
})();

View File

@@ -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);
}
})();

26
ts/cluster1/nft_mint.ts Normal file
View File

@@ -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);
})();

View File

@@ -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",