用户登陆
正在加载
关于波场TRON协议账户创建与交易流程
互联网 · 2019-05-14 09:32:21

一、帐户创建

您可以生成脱机密钥对,其中包括TRON不会记录的地址和私钥。 用户地址生成算法如下:

1.生成密钥对并提取公钥(表示其x,y坐标的64字节字节数组)。

2.使用sha3-256函数哈希公钥,并提取结果的最后20个字节。

3.将41添加到字节数组的开头。 初始地址的长度应为21个字节。

4.使用sha256函数对地址进行两次哈希,并将前4个字节作为验证码。

5.将验证码添加到初始地址的末尾,并通过base58编码获取base58check格式的地址。

6.编码的主网地址以T开头,长度为34个字节。

请注意:采用的sha3协议是KECCAK-256。查看用于生成用户地址的 Java代码演示。

(https://github.com/tronprotocol/wallet-cli/blob/master/src/main/java/org/tron/demo/ECKeyDemo.java)

要使此密钥对成为TRON网络中的帐户,您需要使用TRON网络中已存在的帐户调用以下三个API之一:

●直接调用Create Account API

●将TRX转移到新地址

●将TRC10代币转移到新帐户。 注意:TRC20代币转移无法激活帐户。

在网络确认交易后,您可以查询与TRON网络中的地址匹配的帐户信息。 创建帐户会从创建者处消耗0.1 TRX,或者消耗冻结获得的带宽。

二、交易

生成签名交易:安装NPM库于 :

https://www.npmjs.com/package/@tronscan/client处或下载:

utils

(https://github.com/tronscan/tronscan-node-client/tree/master/src/utils)

and the lib

(https://github.com/tronscan/tronscan-node-client/tree/master/src/lib)

文件夹至你的项目并于本地使用。或者,您可以使用 API签名和广播流 来生成一个已签署的交易。

创建交易:将transactionBuilder和加密导入到您的Javascript文件中。

const CryptoUtils = require("@tronscan/client/src/utils/crypto");
const TransactionUtils = 
require("@tronscan/client/src/utils/transactionBuilder");

导入的transactionBuilder文件中的此函数将创建交易对象

签署交易

上面指定的buildTransferTransaction将返回buildTransferContract的值,该值是创建事务对象的函数。

签署交易

导入的加密文件中的此函数将对事务对象进行签名。

该功能的参数是:

成功运行这些功能后,您将拥有一个已签名的事务,可以将其广播到TRON区块链。

完整代码示例:

constCryptoUtils=require("@tronscan/client/src/utils/crypto");
constTransactionUtils=require("@tronscan/client/src/utils/transactionBuilder");
functiontransferContractTx() {
constprivateKey 
="b815adfd6ef133d5a878869cb3a2b31f32d4c1481132a71300c3e125be0ab1a1";
consttoken ="TRX";
constfromAddress =CryptoUtils.pkToAddress(privateKey);
consttoAddress ="TQ6pM81JDC2GhrUoNYtZGvPc7SvyqcemEu";
constamount =1;
lettransaction =TransactionUtils.buildTransferTransaction(token, fromAddress, 
toAddress, amount);
letsignedTransaction =CryptoUtils.signTransaction(privateKey, 
transaction);
}
免责声明:
本网站所提供的所有信息仅供参考,不构成任何投资建议。用户在使用本网站的信息时应自行判断和承担风险。币界网不对用户因使用本网站信息而导致的任何损失负责。用户在进行任何投资活动前应自行进行调查和研究,并谨慎决策。币界网不对用户基于本网站信息做出的任何投资决策负责。用户在本网站发布的任何内容均由其个人负责,与币界网无关。
免责声明:本网站、超链接、相关应用程序、论坛、博客等媒体账户以及其他平台和用户发布的所有内容均来源于第三方平台及平台用户。币界网对于网站及其内容不作任何类型的保证,网站所有区块链相关数据以及其他内容资料仅供用户学习及研究之用,不构成任何投资、法律等其他领域的建议和依据。币界网用户以及其他第三方平台在本网站发布的任何内容均由其个人负责,与币界网无关。币界网不对任何因使用本网站信息而导致的任何损失负责。您需谨慎使用相关数据及内容,并自行承担所带来的一切风险。强烈建议您独自对内容进行研究、审查、分析和验证。
s_logo
App内打开