1.0.2 • Published 2 years ago

solanaapi v1.0.2

Weekly downloads
-
License
ISC
Repository
-
Last release
2 years ago

solana-api-js

solana公链,转账token和转账SOL以及生成助记词的工具

使用方式:

使用npm安装

npm i solanaapi

助记词生成keypair:

注意:m/44'/501'/0'路径是TrustWallet标准的路径,另外bonfida.com/wallet采用的是m/501'/0'/0/0路径

let web3 = require('solanaapi')  

let mnemonic = 'gospel sing garlic broken badge trick prosper salon horn skate diamond find'
let path = "m/44'/501'/0'" 
let keypair = web3.Transfer.mnemonicToKeypair(mnemonic,path)

通过keypair得到sol钱包地址:

keypair.publicKey.toBase58() 

转账token:

let web3 = require('solanaapi')  
let signStr = await web3.Transfer.transferTokenSign(
                blockHash,      //最近区块哈希
                keypair,        //付款方keypair
                toAddress,      //对方SOL的收币地址字符串
                TOKEN_ADDRESS,  //代币合约地址
                lamports)       //转账数量  1000000000 = 1 枚代币(9个零)

将得到的signStr拼接到下面格式,设置请求头,用post请求发送到solana区块链节点,此时交易完成,会返回一个打包的哈希字符串

'content-type': 'application/json;charset=utf-8' 
{
    id:1,
    jsonrpc:'2.0',
    method:"sendTransaction",
    params:[signStr,{'encoding':"base64", 'preflightCommitment':"singleGossip"}]
}

转账SOL:

let web3 = require('solanaapi')  
let signStr = await web3.Transfer.transferSolSign(
                blockHash,      //最近区块哈希
                keypair,        //付款方keypair
                toAddress,      //对方SOL的收币地址字符串
                lamports)       //转账数量  1000000000 = 1 SOL(9个零)

将得到的signStr拼接到下面格式,设置请求头,用post请求发送到solana区块链节点,此时交易完成,会返回一个打包的哈希字符串

'content-type': 'application/json;charset=utf-8' 
{
    id:1,
    jsonrpc:'2.0',
    method:"sendTransaction",
    params:[signStr,{'encoding':"base64", 'preflightCommitment':"singleGossip"}]
}