Compare commits

...

11 Commits

Author SHA1 Message Date
11a632bf92 Added credentials and mint tokens 2026-02-01 22:55:35 +05:30
bergabman
de1f95563a remove mint 2025-06-30 16:54:56 +02:00
bergabman
29e07fb7c6 dep updates 2025-06-30 16:51:12 +02:00
ASCorreia
f5a783ed40 Added bs58 import for TX deserialization 2025-01-13 01:00:09 +00:00
Dean 利迪恩
6b3fb6c2ab Update nft_metadata.ts
typo
2024-08-02 04:46:47 +08:00
ASCorreia
4bc60eb040 Updated deserialization of transaction 2024-05-15 19:43:56 +01:00
ASCorreia
7b17c10d4e Fixed UMI uploader 2024-05-15 01:25:14 +01:00
Richard
f6e4bb642f remove comment 2024-02-22 07:36:20 -05:00
Richard
28d5abaf0d update to irys 2024-02-22 07:28:36 -05:00
Richard
be0fd98f54 Merge branch 'master' of https://github.com/Web3-Builders-Alliance/solana-starter 2023-11-28 10:48:15 -05:00
Dean 利迪恩
0af0b8ff7e Update package.json 2023-11-28 23:04:34 +08:00
19 changed files with 84 additions and 3484 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 135 KiB

14
readme.md Normal file
View File

@@ -0,0 +1,14 @@
# Solana Starter
Token Address: `6cEVBKWwj1haj1gafHypmgxEKu5iKnML5QWck75Tcswk`
![Solana Explorer1](docs/assets/Tokenexplorer.png)
---
### Transaction
View on [Solana Explorer](https://explorer.solana.com/tx/UxzAxb42GrzLnJH6CvnPgRAcY9ZtvdS8UGBo2rrAm7bnH2w8xNsFc1BRB7FKYBDxQLJw5DWKKSnXZ3m2cj224q3?cluster=devnet)
Blockhash: `D9VDkqnCdGHBwEAFk7Et23ZnD1yHWcyyHHDV7C25GeBG`<br>Signature: `UxzAxb42GrzLnJH6CvnPgRAcY9ZtvdS8UGBo2rrAm7bnH2w8xNsFc1BRB7FKYBDxQLJw5DWKKSnXZ3m2cj224q3`

View File

@@ -1,20 +1,24 @@
import wallet from "../wba-wallet.json"
import wallet from "../turbin3-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"
import { irysUploader } from "@metaplex-foundation/umi-uploader-irys"
import { readFile } from "fs/promises"
// 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(irysUploader());
umi.use(signerIdentity(signer));
(async () => {
try {
//1. Load image
//2. Convert image to generic file.
//3. Upload image
// const image = ???
// const [myUri] = ???

View File

@@ -1,15 +1,15 @@
import wallet from "../wba-wallet.json"
import wallet from "../turbin3-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"
import { irysUploader } from "@metaplex-foundation/umi-uploader-irys"
// 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(irysUploader());
umi.use(signerIdentity(signer));
(async () => {
@@ -37,9 +37,9 @@ umi.use(signerIdentity(signer));
// creators: []
// };
// const myUri = ???
// console.log("Your image URI: ", myUri);
// console.log("Your metadata URI: ", myUri);
}
catch(error) {
console.log("Oops.. Something went wrong", error);
}
})();
})();

View File

@@ -2,7 +2,7 @@ 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 wallet from "../turbin3-wallet.json"
import base58 from "bs58";
const RPC_ENDPOINT = "https://api.devnet.solana.com";

View File

@@ -1,19 +1,28 @@
import { Keypair, Connection, Commitment } from "@solana/web3.js";
import { createMint } from '@solana/spl-token';
import wallet from "../wba-wallet.json"
import wallet from "/home/sortedcord/.config/solana/id.json";
// Import our keypair from the wallet file
const keypair = Keypair.fromSecretKey(new Uint8Array(wallet));
//Create a Solana devnet connection
const commitment: Commitment = "confirmed";
const connection = new Connection("https://api.devnet.solana.com", commitment);
const connection = new Connection("https://api.devnet.solana.com", commitment); // describes when a txn is to be done
// avoid processed
(async () => {
try {
// Start here
// const mint = ???
} catch(error) {
const mint = await createMint(
connection,
keypair,
keypair.publicKey,
null,
6
);
console.log(`successfully created a mint ${mint}`);
} catch (error) {
console.log(`Oops, something went wrong: ${error}`)
}
})()
})();

View File

@@ -1,4 +1,4 @@
import wallet from "../wba-wallet.json"
import wallet from "../turbin3-wallet.json"
import { createUmi } from "@metaplex-foundation/umi-bundle-defaults"
import {
createMetadataAccountV3,
@@ -7,6 +7,7 @@ import {
DataV2Args
} from "@metaplex-foundation/mpl-token-metadata";
import { createSignerFromKeypair, signerIdentity, publicKey } from "@metaplex-foundation/umi";
import { bs58 } from "@coral-xyz/anchor/dist/cjs/utils/bytes";
// Define our Mint address
const mint = publicKey("<mint address>")
@@ -40,9 +41,9 @@ umi.use(signerIdentity(createSignerFromKeypair(umi, keypair)));
// }
// )
// let result = await tx.sendAndConfirm(umi).then(r => r.signature.toString());
// console.log(result);
// let result = await tx.sendAndConfirm(umi);
// console.log(bs58.encode(result.signature));
} catch(e) {
console.error(`Oops, something went wrong: ${e}`)
}
})();
})();

View File

@@ -1,6 +1,6 @@
import { Keypair, PublicKey, Connection, Commitment } from "@solana/web3.js";
import { getOrCreateAssociatedTokenAccount, mintTo } from '@solana/spl-token';
import wallet from "../wba-wallet.json"
import wallet from "/home/sortedcord/.config/solana/id.json";
// Import our keypair from the wallet file
const keypair = Keypair.fromSecretKey(new Uint8Array(wallet));
@@ -9,21 +9,21 @@ const keypair = Keypair.fromSecretKey(new Uint8Array(wallet));
const commitment: Commitment = "confirmed";
const connection = new Connection("https://api.devnet.solana.com", commitment);
const token_decimals = 1_000_000n;
const token_decimals = 500_000n;
// Mint address
const mint = new PublicKey("<mint address>");
const mint = new PublicKey("6cEVBKWwj1haj1gafHypmgxEKu5iKnML5QWck75Tcswk");
(async () => {
try {
// Create an ATA
// const ata = ???
// console.log(`Your ata is: ${ata.address.toBase58()}`);
const ata = await getOrCreateAssociatedTokenAccount(connection, keypair, mint, keypair.publicKey)
console.log(`Your ata is: ${ata.address.toBase58()}`);
// Mint to ATA
// const mintTx = ???
// console.log(`Your mint txid: ${mintTx}`);
} catch(error) {
const mintTx = await mintTo(connection, keypair, mint, ata.address, keypair.publicKey, 67)
console.log(`Your mint txid: ${mintTx}`);
} catch (error) {
console.log(`Oops, something went wrong: ${error}`)
}
})()

View File

@@ -1,5 +1,5 @@
import { Commitment, Connection, Keypair, LAMPORTS_PER_SOL, PublicKey } from "@solana/web3.js"
import wallet from "../wba-wallet.json"
import wallet from "../turbin3-wallet.json"
import { getOrCreateAssociatedTokenAccount, transfer } from "@solana/spl-token";
// We're going to import our keypair from the wallet file

View File

@@ -13,7 +13,7 @@ import {
BN,
} from "@coral-xyz/anchor";
import { WbaVault, IDL } from "./programs/wba_vault";
import wallet from "./wallet/wba-wallet.json";
import wallet from "./wallet/turbin3-wallet.json";
// Import our keypair from the wallet file
const keypair = Keypair.fromSecretKey(new Uint8Array(wallet));

View File

@@ -13,7 +13,7 @@ import {
BN,
} from "@coral-xyz/anchor";
import { WbaVault, IDL } from "./programs/wba_vault";
import wallet from "./wallet/wba-wallet.json";
import wallet from "./wallet/turbin3-wallet.json";
// Import our keypair from the wallet file
const keypair = Keypair.fromSecretKey(new Uint8Array(wallet));

View File

@@ -13,7 +13,7 @@ import {
BN,
} from "@coral-xyz/anchor";
import { WbaVault, IDL } from "./programs/wba_vault";
import wallet from "./wallet/wba-wallet.json";
import wallet from "./wallet/turbin3-wallet.json";
import {
ASSOCIATED_TOKEN_PROGRAM_ID,
TOKEN_PROGRAM_ID,

View File

@@ -13,7 +13,7 @@ import {
BN,
} from "@coral-xyz/anchor";
import { WbaVault, IDL } from "../programs/wba_vault";
import wallet from "../wba-wallet.json";
import wallet from "../turbin3-wallet.json";
import {
TOKEN_PROGRAM_ID,
getOrCreateAssociatedTokenAccount,

View File

@@ -7,7 +7,7 @@ import {
} from "@solana/web3.js";
import { Program, Wallet, AnchorProvider, Address } from "@coral-xyz/anchor";
import { WbaVault, IDL } from "./programs/wba_vault";
import wallet from "./wallet/wba-wallet.json";
import wallet from "./wallet/turbin3-wallet.json";
/// J8qKEmQpadFeBuXAVseH8GNrvsyBhMT8MHSVD3enRgJz
// Import our keypair from the wallet file

View File

@@ -13,7 +13,7 @@ import {
BN,
} from "@coral-xyz/anchor";
import { WbaVault, IDL } from "./programs/wba_vault";
import wallet from "./wallet/wba-wallet.json";
import wallet from "./wallet/turbin3-wallet.json";
// Import our keypair from the wallet file
const keypair = Keypair.fromSecretKey(new Uint8Array(wallet));

View File

@@ -13,7 +13,7 @@ import {
BN,
} from "@coral-xyz/anchor";
import { WbaVault, IDL } from "./programs/wba_vault";
import wallet from "./wallet/wba-wallet.json";
import wallet from "./wallet/turbin3-wallet.json";
import {
ASSOCIATED_TOKEN_PROGRAM_ID,
TOKEN_PROGRAM_ID,

View File

@@ -13,7 +13,7 @@ import {
BN,
} from "@coral-xyz/anchor";
import { WbaVault, IDL } from "./programs/wba_vault";
import wallet from "./wallet/wba-wallet.json";
import wallet from "./wallet/turbin3-wallet.json";
// Import our keypair from the wallet file
const keypair = Keypair.fromSecretKey(new Uint8Array(wallet));

3437
ts/package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,5 +1,5 @@
{
"name": "wba-solana",
"name": "turbin3-solana",
"version": "1.0.0",
"license": "MIT",
"scripts": {
@@ -16,23 +16,32 @@
"spl_metadata": "ts-node ./cluster1/spl_metadata.ts",
"nft_image": "ts-node ./cluster1/nft_image.ts",
"nft_metadata": "ts-node ./cluster1/nft_metadata.ts",
"nft_mint": "ts-node ./cluster1/nft_mint.ts"
"nft_mint": "ts-node ./cluster1/nft_mint.ts",
"vault_init": "ts-node ./cluster1/vault_init.ts",
"vault_deposit": "ts-node ./cluster1/vault_deposit.ts",
"vault_withdraw": "ts-node ./cluster1/vault_withdraw.ts",
"vault_deposit_spl": "ts-node ./cluster1/vault_deposit_spl.ts",
"vault_withdraw_spl": "ts-node ./cluster1/vault_withdraw_spl.ts",
"vault_deposit_nft": "ts-node ./cluster1/vault_deposit_nft.ts",
"vault_withdraw_nft": "ts-node ./cluster1/vault_withdraw_nft.ts",
"vault_close": "ts-node ./cluster1/vault_close.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",
"@coral-xyz/anchor": "0.31.1",
"@metaplex-foundation/mpl-token-metadata": "3.4.0",
"@metaplex-foundation/umi": "^1.2.0",
"@metaplex-foundation/umi-bundle-defaults": "^1.2.0",
"@metaplex-foundation/umi-uploader-irys": "^1.2.0",
"@solana/spl-token": "^0.4.13",
"@solana/web3.js": "^1.87.6",
"@types/node": "^20.9.3",
"@types/node": "^24.0.7",
"@types/prompt": "^1.1.8",
"bs58": "^5.0.0",
"bs58": "^6.0.0",
"prompt": "^1.3.0",
"typescript": "^5.3.2"
},
"devDependencies": {
"ts-node": "^10.9.1"
}
},
"main": "index.js"
}