@ exodus/ 余额
此 Exodus SDK 特性跟踪所有启用的钱包账户的加密计价余额 。 以菲亚特计价的余额,请核对 @ exodus/ fiat- 平衡。 。 。 .
安装
pnpm add @exodus/balances
使用量
此特性设计为与 @exodus/headless。见 使用 sdk。 。 。 .
来玩吧
- 打开游乐场 https://exodus-hydra.pages.dev/ 页面存档备份,存于互联网档案馆
- 运行
selectors.balances.byAsset(store.getState())在Dev Tools Console中,以在已启用的钱包账户中通过资产汇总来获取余额. - 试试其他选择者
selectors.balances。参见示例使用 测试。 。 。 . - 用平衡键锁定地址,勾选区块链显示器并检查您的平衡.
// mock your ethereum address with one that has a balance
await exodus.debug.addressProvider.mockAddress({
assetName: 'ethereum',
walletAccount: 'exodus_0',
address: '0x1111111111111111111111111111111111111111',
})
// force tick the ethereum monitor, or wait a while
await exodus.txLogMonitors.update({ assetName: 'ethereum', refresh: true })
// check your balance
selectors.balances
.createTotal({ assetName: 'ethereum', walletAccount: 'exodus_0' })(store.getState())
.toString()
API 边
见 使用 sdk 更多关于特性插入SDK的细节。 注意,余额特性目前不提供顶级API,意在纯粹通过选择器使用.
如果你正在构建一个需要平衡的特性, 加上对 balancesAtom 现改为: 另见 可用余额字段。 。 。 .
const myModuleDefinition = {
id: 'myModule',
type: 'module',
factory: ({ balancesAtom }) => {
const doSomethingSpecial = async () => {
// {
// [walletAccount]: {
// [assetName]: {
// // e.g. 'total', 'spendable', 'unconfirmedSent', 'unconfirmedReceived'
// [balanceField]: NumberUnit, // see @exodus/currency
// }
// }
// }
const { balances } = await balancesAtom.get()
// ...
}
return {
doSomethingSpecial,
}
},
dependencies: ['balancesAtom'],
}
UI 侧
见 使用 sdk 关于基本UI侧设置的更多细节.
import { selectors } from '~/ui/flux'
const MyComponent = () => {
const bitcoinBalance = useSelector(
selectors.balances.createSpendable({
assetName: 'bitcoin',
walletAccount: 'exodus_0',
})
) // returns a NumberUnit
}
捐款
警告:没有资产细节!
不引入任何资产细节, 如 if (assetName === 'dogicorn') balance = balance.mul(2)所有特定资产都属于 asset.api.getBalances 或资产库内的其他 API.