快速启动
yarn add @depay/web3-tokens
或者说
npm install --save @depay/web3-tokens
import Token from '@depay/web3-tokens'
let token = new Token({
blockchain: 'ethereum',
address: '0xa0bed124a09ac2bd941b10349d8d224fe3c955eb'
});
token.address // '0xa0bEd124a09ac2Bd941b10349d8d224fe3c955eb'
await token.decimals() // 18
await token.symbol() // 'DEPAY'
await token.name() // 'DePay'
支助
此库支持以下块链 :
平台专用包装
如果你想只使用特定平台并包装,请使用特定平台的软件包:
EVM(Ethereum虚拟机)特定包装
import Token from '@depay/web3-tokens-evm'
SVM(索拉纳虚拟机)特定包装
import Token from '@depay/web3-tokens-solana'
职能
合并( 新)
import Token from '@depay/web3-tokens'
let token = new Token({
blockchain: 'ethereum',
address: '0xa0bed124a09ac2bd941b10349d8d224fe3c955eb'
});
小数
获取符号小数
await token.decimals() // 18
符号
获取符号符号
await token.symbol() // DEPAY
名称
获取符名
await token.name() // DePay
由 id 命名 NFT
使用 NFT id 获取令牌地址的令牌名 :
await token.name({ id: '42745998150656004690816543961586238000273307462307754421658803578179357246440' }) // NFT Butler Lifetime License
余额
提供给定账户的余额(大数):
await token.balance('0xb0252f13850a4823706607524de0b146820F2240') // BigNumber {_hex: "0x0b896d5e9eeaabf4f1", _isBigNumber: true}
这也对给定区块链的原生标志有效:
let token = new Token({ ..., address: '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE' })
await token.balance('0xb0252f13850a4823706607524de0b146820F2240') // BigNumber {_hex: "0x0b896d5e9eeaabf4f1", _isBigNumber: true}
nFTs的余额(单位:美元)
如果通过第二个参数,它将用来为给定的代号ID获取给定账户的余额:
await token.balance('0xb0252f13850a4823706607524de0b146820F2240', '42745998150656004690816543961586238000273307462307754421658803578179357246440')
大数
提供基于人类可读量的给定令牌(以令牌小数为准)的大数:
let token = new Token({
blockchain: 'ethereum',
address: '0xa0bed124a09ac2bd941b10349d8d224fe3c955eb'
})
await token.BigNumber(1) // BigNumber '1000000000000000000'
await Token.BigNumber({
amount: 1,
blockchain: 'ethereum',
address: '0xa0bed124a09ac2bd941b10349d8d224fe3c955eb'
}) // BigNumber '1000000000000000000'
可读
根据给定的BigInt号码提供可读量.
-
结束的零将被消除
1.30000- > (中文)1.3 -
如果无, 十进制会降下
1.00000- > (中文)1
await Token.readable({
amount: '1231211111210000000',
blockchain: 'ethereum',
address: '0xa0bed124a09ac2bd941b10349d8d224fe3c955eb'
}) // "1.23121111121"
let token = new Token({
blockchain: 'ethereum',
address: '0xa0bed124a09ac2bd941b10349d8d224fe3c955eb'
})
await token.readable('1231211111210000000') // "1.23121111121"
调试标准
EVM: 托肯标准
import Token from '@depay/web3-tokens'
Token.ethereum['20'] // [...] <XYZ>20 standard
Token.bsc['20'] // [...] <XYZ>20 standard
Token.ethereum.ERC20 // [...] ERC20 ABI
Token.bsc.BEP20 // [...] BEP20 ABI
Token.ethereum.WRAPPED // [...] WETH ABI
Token.bsc.WRAPPED // [...] WETH ABI
DEFAULT 引用各块链上宽泛的默认符号标准:
import Token from '@depay/web3-tokens'
Token.ethereum.DEFAULT // ERC20
Token.bsc.DEFAULT // BEP20
Token[blockchain].DEFAULT
索拉纳:托肯标准、常数、布局和辅助方法
import Token from '@depay/web3-tokens'
Token.solana
// MINT_LAYOUT,
// METADATA_LAYOUT,
// TRANSFER_LAYOUT,
// METADATA_ACCOUNT,
// TOKEN_PROGRAM,
// ASSOCIATED_TOKEN_PROGRAM,
// findProgramAddress({ token, owner })
// findAccount({ token, owner })
// async createTransferInstruction({ token, amount, from, to })
// async createAssociatedTokenAccountInstruction({ token, owner, payer })
// initializeAccountInstruction({ account, token, owner })
// closeAccountInstruction({ account, owner })
// getMetaData
// getMetaDataPDA
发展
开始吧
yarn install
yarn dev
释放
npm publish