1.0.2 • Published 2 years ago
solanaapi v1.0.2
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"}]
}