BitGo 账户 Lib
这个图书馆负责为 基于账户的硬币(例如:埃特鲁姆,阿尔戈兰德,EOS,Tron等). 账户 Lib是针对BitGo和BitGo的多相钱包开发的,但也可以是 在钱包生态系统之外独立使用.
账户 Lib 可以在离线环境中使用.
支持的硬币
下面是这个库支持的硬币列表 -- -- 以及那些 在行进图上.
| 铜 | 主网选手 | 测试网计票器 | 在库中支持 |
|---|---|---|---|
| 语录 | 高级 | 塔尔戈语name | 对 |
| 捷克石油公司 | 太阳 | 特克罗 | 对 |
| 以利亚 | 特尔 | 齿 | 对 |
| 乙出类比 | 类 | 泰特克语 | 对 |
| 雷克 | 转帐c | 微调c | 对 |
| 斯特拉尔 | 长 | txlm 时 | 还没... |
| 特佐斯语Name | 页:1 | 页:1 | 对 |
| 龙 | 长轴 | ttrx 缩写 | 对 |
核心概念
交易 构建器
这个 TranssactionBuilder 类通过构建
交易。 目的 TransactionBuilder 将生成一个 Transaction
可以向网络广播的对象.
交易
Transaction 对象为区块链交易的 JavaScript 表示
执行协议特定验证规则. Transactions 提供
允许它们被有效广播的编码机制
腾讯网.
交易类型
TransactionBuilder 支持下列交易类型:
-
发送:从钱包转出资金.
-
钱包初始化: 初始化网络上的钱包账户 (例如,多西格合同的部署).
-
地址初始化: 初始化网络上的钱包地址 (如转发合同的部署).
-
账户更新: 更新网络上的账户(例如公用钥匙) tezos的启示操作.
离线可用性
账户 Lib 设计用于离线签名 环境.
安装
用 npm 安装库 。 如果你计划为项目捐款,你 似宜遵循不同的安装指令 本文件概述。 。 。 .
$ cd <your_project>
$ npm install @bitgo/account-lib
使用量
下面是一个例子,说明如何利用图书馆建设和 签署 Tron 测试网交易.
证据
说明 TransactionBuilder 用于您想要使用的硬币 :
// Import the package (javascript import)
const accountLib = require('@bitgo/account-lib');
// or import the pacakage using typescript
import * as accountLib from '@bitgo/account-lib';
// Instantiate the Transaction Builder for Tron (testnet)
const txBuilder = accountLib.getBuilder('ttrx');
建设和签署
使用交易构建器实例( 在上一步创建) 来签名 交易 :
// Define an unsigned Tron transaction object
const unsignedBuildTransaction = {
visible: false,
txID: '80b8b9eaed51c8bba3b49f7f0e7cc5f21ac99a6f3e2893c663b544bf2c695b1d',
raw_data: {
contract: [
{
parameter: {
value: {
amount: 1718,
owner_address: '41c4530f6bfa902b7398ac773da56106a15af15f92',
to_address: '4189ffaf9da8c6fae32189b2e6dce228249b1129aa',
},
type_url: 'type.googleapis.com/protocol.TransferContract',
},
type: 'TransferContract',
},
],
ref_block_bytes: '90e4',
ref_block_hash: 'a018bf9892ddb138',
expiration: 1571811468000,
timestamp: 1571811410819,
},
raw_data_hex:
'0a0290e42208a018bf9892ddb13840e0c58ebadf2d5a66080112620a2d747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e5472616e73666572436f6e747261637412310a1541c4530f6bfa902b7398ac773da56106a15af15f9212154189ffaf9da8c6fae32189b2e6dce228249b1129aa18b60d7083878bbadf2d',
};
// Use that object to build and sign a transaction
txBuilder.from(unsignedBuildTransaction);
txBuilder.sign({
key: 'A81B2E0C55A7E2B2E837ZZC437A6397B316536196989A6F09EE49C19AD33590W',
});
const tx = await txBuilder.build();
更多实例:
开发者
如果你想为这个项目作出贡献,请看 开发者指南 对贡献规范和期望.
一个近期目标就是将这个库转向基于插件的 用于硬币注册的架构。 在此之前,公关增加支持新硬币 将被搁置.