Comments (16)
how did you compose your transaction? could you paste your code here? (don't share any private key in your code snippet)
from solana-go-sdk.
tokenprog.Transfer(tokenprog.TransferParam{
From: owner.PublicKey,
To: ata,
Auth: feePayer.PublicKey,
Amount: 1,
}),
from solana-go-sdk.
- you should use a token account as a
From
instead of a SOL address. - I'll more recommend you use
TransferChecked
. https://portto.github.io/solana-go-sdk/tour/token-transfer.html
from solana-go-sdk.
I tried to execute the example with taking this as a reference nft (https://explorer.solana.com/address/Br5YJoiv63AdvzNM9YRb2onGdr7sSgi2a8zJyPz3R9ii?cluster=devnet)
My error:-
2022/06/20 22:57:44 send raw tx error, err: rpc response error: {"code":-32002,"message":"Transaction simulation failed: Error processing Instruction 0: invalid account data for instruction","data":{"accounts":null,"err":{"InstructionError":[0,"InvalidAccountData"]},"logs":["Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [1]","Program log: Instruction: TransferChecked","Program log: Error: InvalidAccountData","Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 1869 of 200000 compute units","Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: invalid account data for instruction"],"unitsConsumed":0}}
exit status 1
My Modified code
package main
import (
"context"
"log"
"github.com/portto/solana-go-sdk/client"
"github.com/portto/solana-go-sdk/common"
"github.com/portto/solana-go-sdk/program/tokenprog"
"github.com/portto/solana-go-sdk/rpc"
"github.com/portto/solana-go-sdk/types"
)
// 7s6Ro1mBBmmKmP2QDT2zzuCMqS6AVCgBQi1mRnsjX4QG
var feePayer, _ = types.AccountFromBase58("")
// 43xqaQkf8N95Af64ZqafbcQsPWdKqy5BRWxH7FFYomqX
var alice, _ = types.AccountFromBase58("")
var mintPubkey = common.PublicKeyFromString("7FiJvym5YqWayshU2ngN9zw7J91DKko2hkXmgrajuMA3")
var aliceTokenRandomTokenPubkey = types.NewAccount()
var aliceTokenATAPubkey = types.NewAccount()
func main() {
c := client.NewClient(rpc.DevnetRPCEndpoint)
res, err := c.GetLatestBlockhash(context.Background())
if err != nil {
log.Fatalf("get recent block hash error, err: %v\n", err)
}
tx, err := types.NewTransaction(types.NewTransactionParam{
Message: types.NewMessage(types.NewMessageParam{
FeePayer: feePayer.PublicKey,
RecentBlockhash: res.Blockhash,
Instructions: []types.Instruction{
tokenprog.TransferChecked(tokenprog.TransferCheckedParam{
From: aliceTokenRandomTokenPubkey.PublicKey,
To: aliceTokenATAPubkey.PublicKey,
Mint: mintPubkey,
Auth: alice.PublicKey,
Signers: []common.PublicKey{},
Amount: 1e8,
Decimals: 8,
}),
},
}),
Signers: []types.Account{feePayer, alice},
})
if err != nil {
log.Fatalf("failed to new tx, err: %v", err)
}
txhash, err := c.SendTransaction(context.Background(), tx)
if err != nil {
log.Fatalf("send raw tx error, err: %v\n", err)
}
log.Println("txhash:", txhash)
}
from solana-go-sdk.
you should go through token account concept first. here give you some keypoints:
- if you would like to transfer the NFT you memtioned
- mint: Br5YJoiv63AdvzNM9YRb2onGdr7sSgi2a8zJyPz3R9ii
- token account: DGJ6RsBxwGHbRfMRnTfZNbf7f8t3d86ou3Xg5PxwUdZu
- owner (auth): 7s6Ro1mBBmmKmP2QDT2zzuCMqS6AVCgBQi1mRnsjX4QG
-
you need to create a token account as a receiver. (https://portto.github.io/solana-go-sdk/tour/create-token-account.html) a token account transfer operation is from a token account to another token account
-
if you're transferring a NFT, usually Amount is 1 and Decimals is 0
from solana-go-sdk.
Thanks, I tried to implement the code as you guided me but there is an error
I have consider this example for transfer from
Token Account
Address
DEdpuTdsSk5uBkALtiCZjLBzFUozpJ6nAdh8Vi937ppb
Mint
Af415cxd67Jo4eQNzB2c7Zr5oCP9jBX4UJdt4XCW8vbf
Owner
7s6Ro1mBBmmKmP2QDT2zzuCMqS6AVCgBQi1mRnsjX4QG
To
43xqaQkf8N95Af64ZqafbcQsPWdKqy5BRWxH7FFYomqX
My code
//43xqaQkf8N95Af64ZqafbcQsPWdKqy5BRWxH7FFYomqX
var feePayer, _ = types.AccountFromBase58("")
// 7s6Ro1mBBmmKmP2QDT2zzuCMqS6AVCgBQi1mRnsjX4QG
var alice, _ = types.AccountFromBase58("")
//token address
var mint = common.PublicKeyFromString("Af415cxd67Jo4eQNzB2c7Zr5oCP9jBX4UJdt4XCW8vbf")
//From Token Account Address
var aliceTokenRandomTokenPubkey = common.PublicKeyFromString("DEdpuTdsSk5uBkALtiCZjLBzFUozpJ6nAdh8Vi937ppb")
//var aliceTokenATAPubkey = common.PublicKeyFromString("43xqaQkf8N95Af64ZqafbcQsPWdKqy5BRWxH7FFYomqX")
func main() {
c := client.NewClient(rpc.DevnetRPCEndpoint)
log.Println("feePayer", feePayer.PublicKey)
log.Println("alice", alice.PublicKey)
log.Println("mintPubkey", mint)
log.Println("aliceTokenRandomTokenPubkey", aliceTokenRandomTokenPubkey)
//mint := types.NewAccount()
fmt.Printf("NFT: %v\n", mint)
collection := types.NewAccount()
fmt.Println(base58.Encode(collection.PrivateKey))
fmt.Printf("collection: %v\n", collection.PublicKey.ToBase58())
ata, _, err := common.FindAssociatedTokenAddress(feePayer.PublicKey, mint)
if err != nil {
log.Fatalf("failed to find a valid ata, err: %v", err)
}
tokenMetadataPubkey, err := tokenmeta.GetTokenMetaPubkey(mint)
fmt.Println("tokenMetadataPubkey", tokenMetadataPubkey.ToBase58())
if err != nil {
log.Fatalf("failed to find a valid token metadata, err: %v", err)
}
tokenMasterEditionPubkey, err := tokenmeta.GetMasterEdition(mint)
fmt.Println("tokenMasterEditionPubkey", tokenMasterEditionPubkey.ToBase58())
if err != nil {
log.Fatalf("failed to find a valid master edition, err: %v", err)
}
mintAccountRent, err := c.GetMinimumBalanceForRentExemption(context.Background(), tokenprog.MintAccountSize)
if err != nil {
log.Fatalf("failed to get mint account rent, err: %v", err)
}
res, err := c.GetLatestBlockhash(context.Background())
if err != nil {
log.Fatalf("get recent block hash error, err: %v\n", err)
}
tx, err := types.NewTransaction(types.NewTransactionParam{
Message: types.NewMessage(types.NewMessageParam{
FeePayer: feePayer.PublicKey,
RecentBlockhash: res.Blockhash,
Instructions: []types.Instruction{
sysprog.CreateAccount(sysprog.CreateAccountParam{
From: feePayer.PublicKey,
New: mint,
Owner: common.TokenProgramID,
Lamports: mintAccountRent,
Space: tokenprog.MintAccountSize,
}),
tokenmeta.CreateMetadataAccountV2(tokenmeta.CreateMetadataAccountV2Param{
Metadata: tokenMetadataPubkey,
Mint: mint,
MintAuthority: feePayer.PublicKey,
Payer: feePayer.PublicKey,
UpdateAuthority: feePayer.PublicKey,
UpdateAuthorityIsSigner: true,
IsMutable: true,
Data: tokenmeta.DataV2{
Name: "Fake SMS #1357",
Symbol: "FSMB",
Uri: "https://bafybeibd6achyemgiqqz7ur54dm7eyslgugw5yuaop7pctb44dr5htlo3i.ipfs.infura-ipfs.io",
SellerFeeBasisPoints: 100,
Creators: &[]tokenmeta.Creator{
{
Address: feePayer.PublicKey,
Verified: true,
Share: 100,
},
},
Collection: &tokenmeta.Collection{
Verified: false,
Key: collection.PublicKey,
},
Uses: &tokenmeta.Uses{
UseMethod: tokenmeta.Burn,
Remaining: 10,
Total: 10,
},
},
}),
assotokenprog.CreateAssociatedTokenAccount(assotokenprog.CreateAssociatedTokenAccountParam{
Funder: feePayer.PublicKey,
Owner: feePayer.PublicKey,
Mint: mint,
AssociatedTokenAccount: ata,
}),
tokenprog.TransferChecked(tokenprog.TransferCheckedParam{
From: aliceTokenRandomTokenPubkey,
To: ata,
Mint: mint,
Auth: alice.PublicKey,
Signers: []common.PublicKey{},
Amount: 1e8,
Decimals: 8,
}),
tokenmeta.CreateMasterEditionV3(tokenmeta.CreateMasterEditionParam{
Edition: tokenMasterEditionPubkey,
Mint: mint,
UpdateAuthority: feePayer.PublicKey,
MintAuthority: feePayer.PublicKey,
Metadata: tokenMetadataPubkey,
Payer: feePayer.PublicKey,
MaxSupply: pointer.Uint64(0),
}),
},
}),
Signers: []types.Account{feePayer, alice},
})
if err != nil {
log.Fatalf("failed to new tx, err: %v", err)
}
txhash, err := c.SendTransaction(context.Background(), tx)
if err != nil {
log.Fatalf("send raw tx error, err: %v\n", err)
}
log.Println("txhash:", txhash)
}
from solana-go-sdk.
this code is used to mint a NFT. please read the tour again. you're still not get the main idea. 43xqaQkf8N95Af64ZqafbcQsPWdKqy5BRWxH7FFYomqX
can't be a token receiver. you should create a token account then transfer token to the account.
from solana-go-sdk.
I understand sir.. But i have not used Mint function instead I have used TransferChecked as you suggested and also I have tried to mimic the MintNFT code as the recipient/buyer will also need an Token account and Ass Tkn account along with a CreateMetadataAccountV2 to store/receive the nft from the owner as it has minted on these aspects
I tried to use https://portto.github.io/solana-go-sdk/tour/token-transfer.html but the transfer is not happening with the metadata and its shows "Unknown Token"
Do have a similar kind of example for transfer nft as you have done it for Mint NFT(https://portto.github.io/solana-go-sdk/nft/mint-a-nft.html)
from solana-go-sdk.
- if you don't use mintTo instruction, it means the new token which you created has 0 supply. I don't think there is anyone can do transfer cuz no one holds the token.
- what's the code snippet when you encountered
Unknown Token
? - a NFT is just a token, you can use token transfer to transfer it. you don't need to do anything with the metadata and master edition cuz they are related to the token.
- could you please make your code more pretty and give them some meaningful name? I know you copy them from my docs, but it is a little hard to read if we would like to debug something.
from solana-go-sdk.
Thanks again for continuous support, Here is my code I have tried to make my code more pretty and readable sir.
Summary of my process:
- Create an new account(ata) for the new buyer(feePayer) for which his nft has to be transferred to
- Transfer it from the old token account to the new account created
My code
func main() {
//43xqaQkf8N95Af64ZqafbcQsPWdKqy5BRWxH7FFYomqX
var feePayer, _ = types.AccountFromBase58("")
// 7s6Ro1mBBmmKmP2QDT2zzuCMqS6AVCgBQi1mRnsjX4QG
var currentOwner, _ = types.AccountFromBase58("")
var currentTokenAccountPublickey = common.PublicKeyFromString("DEdpuTdsSk5uBkALtiCZjLBzFUozpJ6nAdh8Vi937ppb")
c := client.NewClient(rpc.DevnetRPCEndpoint)
mintNew := types.NewAccount()
log.Printf("NFT: %v\n", mintNew.PublicKey.ToBase58())
//Create an assocaited account for the feepayer/new buyer
ata, _, err := common.FindAssociatedTokenAddress(feePayer.PublicKey, mintNew.PublicKey)
if err != nil {
log.Fatalf("find ata error, err: %v", err)
}
log.Println("ata:", ata.ToBase58())
res, err := c.GetLatestBlockhash(context.Background())
if err != nil {
log.Fatalf("get recent block hash error, err: %v\n", err)
}
tx1, err := types.NewTransaction(types.NewTransactionParam{
Message: types.NewMessage(types.NewMessageParam{
FeePayer: feePayer.PublicKey,
RecentBlockhash: res.Blockhash,
Instructions: []types.Instruction{
assotokenprog.CreateAssociatedTokenAccount(assotokenprog.CreateAssociatedTokenAccountParam{
Funder: feePayer.PublicKey,
Owner: feePayer.PublicKey,
Mint: mintNew.PublicKey,
AssociatedTokenAccount: ata,
}),
tokenprog.TransferChecked(tokenprog.TransferCheckedParam{
From: currentTokenAccountPublickey, //Current tokenpublicaddress
To: ata, //New created assocated account for feepayer
Mint: mintNew.PublicKey, //new mint for the token
Auth: currentOwner.PublicKey,
Signers: []common.PublicKey{},
Amount: 1e8,
Decimals: 8,
}),
},
}),
Signers: []types.Account{feePayer, currentOwner},
})
if err != nil {
log.Fatalf("generate tx error, err: %v\n", err)
}
txhash1, err := c.SendTransaction(context.Background(), tx1)
if err != nil {
log.Fatalf("send raw tx error, err: %v\n", err)
}
log.Println("txhash:", txhash1)
}
My error
{"code":-32002,"message":"Transaction simulation failed: Error processing Instruction 0: incorrect program id for instruction","data":{"accounts":null,"err":{"InstructionError":[0,"IncorrectProgramId"]},"logs":["Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL invoke [1]","Program log: Create","Program 11111111111111111111111111111111 invoke [2]","Program 11111111111111111111111111111111 success","Program log: Initialize the associated token account","Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]","Program log: Instruction: InitializeAccount3","Program log: Error: IncorrectProgramId","Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 2392 of 387748 compute units","Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: incorrect program id for instruction","Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL consumed 14644 of 400000 compute units","Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL failed: incorrect program id for instruction"],"unitsConsumed":0}}
The nft token that I'm transferring is Af415cxd67Jo4eQNzB2c7Zr5oCP9jBX4UJdt4XCW8vbf
from solana-go-sdk.
if you would like to transfer the token Af415cxd67Jo4eQNzB2c7Zr5oCP9jBX4UJdt4XCW8vbf
, you should replace all mintNew.PublicKey
in your code with common.PublicKeyFromString("Af415cxd67Jo4eQNzB2c7Zr5oCP9jBX4UJdt4XCW8vbf")
from solana-go-sdk.
still error exists sir ..
send raw tx error, err: rpc response error: {"code":-32002,"message":"Transaction simulation failed: Error processing Instruction 1: custom program error: 0x1","data":{"accounts":null,"err":{"InstructionError":[1,{"Custom":1}]},"logs":["Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL invoke [1]","Program log: Create","Program 11111111111111111111111111111111 invoke [2]","Program 11111111111111111111111111111111 success","Program log: Initialize the associated token account","Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]","Program log: Instruction: InitializeAccount3","Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 2933 of 387748 compute units","Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success","Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL consumed 15808 of 400000 compute units","Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL success","Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [1]","Program log: Instruction: TransferChecked","Program log: Error: insufficient funds","Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 2828 of 384192 compute units","Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA failed: custom program error: 0x1"],"unitsConsumed":15808}}
exit status 1
even though i have enough funds in feepayer its giving me this error
from solana-go-sdk.
Amount = 1 Decimal = 0
from solana-go-sdk.
Thank it worked but for the first transfer only next time when I transfer to another account from the current ower it fails
Example- https://explorer.solana.com/address/Fvpm4DWABgtPvtd7Ku8qKMbtnH5umXJZdfC3XSMWwv2L?cluster=devnet
So I have done the transfer from Account 1 to Account 2
Account 1
Account Address
HyMy4khSDqaEHbHfgXgEanoKszGcZV11TJfLgV2KNBGE
Mint
Fvpm4DWABgtPvtd7Ku8qKMbtnH5umXJZdfC3XSMWwv2L
Owner
43xqaQkf8N95Af64ZqafbcQsPWdKqy5BRWxH7FFYomqX
Account 2
Account Address
8td7noCBesuf6VAkzTELbfW4gAESFvWpTbjFAyw4hS6w
Mint
Fvpm4DWABgtPvtd7Ku8qKMbtnH5umXJZdfC3XSMWwv2L
Owner
7s6Ro1mBBmmKmP2QDT2zzuCMqS6AVCgBQi1mRnsjX4QG
And trying to transfer to Account 3- 4855uPpQwTAYaqXTRdv8PHb7QjYe57CXTHsE9L9U2zUS
But it gives me this error
E 2022-06-23T07:45:13.7830662Z [86467663] default: unable to Send Transaction%!(EXTRA *errors.errorString=rpc response error: {"code":-32002,"message":"Transaction simulation failed: Error processing Instruction 0: custom program error: 0x0","data":{"accounts":null,"err":{"InstructionError":[0,{"Custom":0}]},"logs":["Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL invoke [1]","Program log: Create","Program 11111111111111111111111111111111 invoke [2]","Allocate: account Address { address: HyMy4khSDqaEHbHfgXgEanoKszGcZV11TJfLgV2KNBGE, base: None } already in use","Program 11111111111111111111111111111111 failed: custom program error: 0x0","Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL consumed 6576 of 400000 compute units","Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL failed: custom program error: 0x0"],"unitsConsumed":0}})
E 2022-06-23T07:45:13.7830662Z [ea66dbfc-3039-16fb-b5ed-0a0027000011] default: {"errors":{"message":"Unable to Send Transaction","code":4002,"err":"rpc response error: {"code":-32002,"message":"Transaction simulation failed: Error processing Instruction 0: custom program error: 0x0","data":{"accounts":null,"err":{"InstructionError":[0,{"Custom":0}]},"logs":["Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL invoke [1]","Program log: Create","Program 11111111111111111111111111111111 invoke [2]","Allocate: account Address { address: HyMy4khSDqaEHbHfgXgEanoKszGcZV11TJfLgV2KNBGE, base: None } already in use","Program 11111111111111111111111111111111 failed: custom program error: 0x0","Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL consumed 6576 of 400000 compute units","Program ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL failed: custom program error: 0x0"],"unitsConsumed":0}}"}} {task:SolanaTransferNft flow:"Order Entry"}
My code
func main() {
//4855uPpQwTAYaqXTRdv8PHb7QjYe57CXTHsE9L9U2zUS
var feePayer, _ = types.AccountFromBase58("")
// 7s6Ro1mBBmmKmP2QDT2zzuCMqS6AVCgBQi1mRnsjX4QG
var currentOwner, _ = types.AccountFromBase58("")
var currentTokenAccountPublickey = common.PublicKeyFromString("8td7noCBesuf6VAkzTELbfW4gAESFvWpTbjFAyw4hS6w")
c := client.NewClient(rpc.DevnetRPCEndpoint)
mintNew := common.PublicKeyFromString("Fvpm4DWABgtPvtd7Ku8qKMbtnH5umXJZdfC3XSMWwv2L")
log.Printf("NFT: %v\n", mintNew.PublicKey.ToBase58())
//Create an assocaited account for the feepayer/new buyer
ata, _, err := common.FindAssociatedTokenAddress(feePayer.PublicKey, mintNew.PublicKey)
if err != nil {
log.Fatalf("find ata error, err: %v", err)
}
log.Println("ata:", ata.ToBase58())
res, err := c.GetLatestBlockhash(context.Background())
if err != nil {
log.Fatalf("get recent block hash error, err: %v\n", err)
}
tx1, err := types.NewTransaction(types.NewTransactionParam{
Message: types.NewMessage(types.NewMessageParam{
FeePayer: feePayer.PublicKey,
RecentBlockhash: res.Blockhash,
Instructions: []types.Instruction{
assotokenprog.CreateAssociatedTokenAccount(assotokenprog.CreateAssociatedTokenAccountParam{
Funder: feePayer.PublicKey,
Owner: feePayer.PublicKey,
Mint: mintNew.PublicKey,
AssociatedTokenAccount: ata,
}),
tokenprog.TransferChecked(tokenprog.TransferCheckedParam{
From: currentTokenAccountPublickey, //Current tokenpublicaddress
To: ata, //New created assocated account for feepayer
Mint: mintNew.PublicKey, //new mint for the token
Auth: currentOwner.PublicKey,
Signers: []common.PublicKey{},
Amount: 1,
Decimals: 0,
}),
},
}),
Signers: []types.Account{feePayer, currentOwner},
})
if err != nil {
log.Fatalf("generate tx error, err: %v\n", err)
}
txhash1, err := c.SendTransaction(context.Background(), tx1)
if err != nil {
log.Fatalf("send raw tx error, err: %v\n", err)
}
log.Println("txhash:", txhash1)
}
from solana-go-sdk.
error message said: "Allocate: account Address { address: HyMy4khSDqaEHbHfgXgEanoKszGcZV11TJfLgV2KNBGE, base: None } already in use"
if the account has already initialized, you can't create it again.
from solana-go-sdk.
I'm going to close this issue. Feel free to open another one about SDK problems.
from solana-go-sdk.
Related Issues (20)
- how to decode the instruction.data? HOT 1
- how to getTokenAccountOwner HOT 3
- how to get the mint name of 7i5KKsX2weiTkry7jA4ZwSuXGhs5eJBEjY8vVxR4pfRx HOT 3
- How to get SOL transfers from a response getTransaction() HOT 2
- creating a new wallet and other things HOT 1
- Cant understand how to give instructions for Launchmynft.io
- Cant understand how to give instructions for raydium swap HOT 2
- How to create stake account? HOT 2
- [HELP] Deserializing AccountData data field into address lookup tables
- UpdateMetadataAccount returning deprecated error HOT 2
- Any plan to support anchor? HOT 3
- Websocket API support
- How do I initiate a USDT SPL transfer transaction? HOT 4
- Add Priority Fee to Transaction HOT 1
- How do I initiate a USDT SPL transfer transaction? HOT 3
- An optimization suggestion about transaction serialization
- Add unitsConsumed field to RPC simulateTransaction response HOT 1
- GetSlotLeader HOT 2
- Add GetSlotLeaders HOT 1
- Add GetProgramAccounts method to the client folder
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from solana-go-sdk.