交易相关
获取钱包地址的Sequence
ts
static function fetchSequence(node: string, address: string): Promise<number>static function fetchSequence(node: string, address: string): Promise<number>点我运行代码
const { Transaction } = require('@jccdex/jingtum-lib')
let node = 'https://whskywelldrpc1.jccdex.cn:8443'
let address = 'jHLrB8gcWgtqXcEDSrCxoKJR6faMzTWqLM'
const sequence = await Transaction.fetchSequence(node, address)
console.log('sequence: '+sequence)
获取对应Hash的交易信息
ts
static function fetchTransaction(node: string, hash: string): Promise<any>static function fetchTransaction(node: string, hash: string): Promise<any>点我运行代码
const { Transaction } = require('@jccdex/jingtum-lib')
let node = 'https://whskywelldrpc1.jccdex.cn:8443'
let hash = '8AF1E98FAC3DA554B810D8202E6BA4E737A0DC2AC215EEC56154FF28F7FCC11B'
const info = await Transaction.fetchTransaction(node, hash)
//完整信息请去浏览器控制台查看
console.log('info: '+info)
查看账户历史交易
ts
/**
*
* @static
* @param {string} node
* @param {string} account
* @returns {Promise<any>}
* @memberof Transaction
*/
static function requestAccountTx(node: string, account: string): Promise<any>/**
*
* @static
* @param {string} node
* @param {string} account
* @returns {Promise<any>}
* @memberof Transaction
*/
static function requestAccountTx(node: string, account: string): Promise<any>点我运行代码
const { Transaction } = require('@jccdex/jingtum-lib')
let node = 'https://whskywelldrpc1.jccdex.cn:8443'
let account = 'jHLrB8gcWgtqXcEDSrCxoKJR6faMzTWqLM'
const accountTx = await Transaction.requestAccountTx(node, account)
console.log(accountTx)
发送交易(blob)
ts
static function sendRawTransaction(data: { blob: string; url: string }): Promise<string>static function sendRawTransaction(data: { blob: string; url: string }): Promise<string>点我运行代码
const { Wallet, Transaction } = require('@jccdex/jingtum-lib')
const node = 'https://whskywelldrpc1.jccdex.cn:8443'
const address = 'jHLrB8gcWgtqXcEDSrCxoKJR6faMzTWqLM'
const tx = {
Account: address,
Amount: 1,
Destination: 'jM8H9irLe7RnvT2BAkrcGE29Crz3hozDBS',
Fee: 0.01,
Flags: 0,
Memos: '',
TransactionType: "Payment"
};
const sequence = await Transaction.fetchSequence(node, address)
// 序列化出的tx报文中必须包含交易账号的Sequence
tx.Sequence = sequence
const jtWallet = new Wallet('jingtum')
const signResult = jtWallet.sign(tx, 'snBymGgaecGM6ede5VBDeisiNNZy2')
const hash = await Transaction.sendRawTransaction({
blob: signResult.blob,
url: node
})
console.log(hash)
发送交易
ts
public function submit(secret: string, tx: any): Promise<string>public function submit(secret: string, tx: any): Promise<string>点我运行代码
const { Transaction } = require('@jccdex/jingtum-lib')
let nodes = ['https://whskywelldrpc1.jccdex.cn:8443']
const address = 'jHLrB8gcWgtqXcEDSrCxoKJR6faMzTWqLM'
const secret = 'snBymGgaecGM6ede5VBDeisiNNZy2'
const tx = {
Account: address,
Amount: 1,
Destination: 'jM8H9irLe7RnvT2BAkrcGE29Crz3hozDBS',
Fee: 0.01,
Flags: 0,
Memos: '',
TransactionType: "Payment"
};
const sequence = await Transaction.fetchSequence(nodes[0], address)
// 序列化出的tx报文中必须包含交易账号的Sequence
tx.Sequence = sequence
const jtTransaction = new Transaction('jingtum', nodes)
const hash = await jtTransaction.submit(secret, tx)
console.log(hash)
tx是否经过验证
ts
static function isValidated(tx): booleanstatic function isValidated(tx): boolean点我运行代码
const { Transaction } = require('@jccdex/jingtum-lib')
const tx = {
Account: 'jHLrB8gcWgtqXcEDSrCxoKJR6faMzTWqLM',
Amount: 1,
Destination: 'jM8H9irLe7RnvT2BAkrcGE29Crz3hozDBS',
Fee: 0.01,
Flags: 0,
Memos: '',
TransactionType: "Payment"
};
const res = Transaction.isValidated(tx)
console.log(res)
tx的结果是否成功
ts
static function isSuccess(tx): booleanstatic function isSuccess(tx): boolean点我运行代码
const { Transaction } = require('@jccdex/jingtum-lib')
const tx = {
Account: 'jHLrB8gcWgtqXcEDSrCxoKJR6faMzTWqLM',
Amount: 1,
Destination: 'jM8H9irLe7RnvT2BAkrcGE29Crz3hozDBS',
Fee: 0.01,
Flags: 0,
Memos: '',
TransactionType: "Payment"
};
const res = Transaction.isSuccess(tx)
console.log(res)
获取节点
ts
protected function getNode():stringprotected function getNode():string点我运行代码
const { Transaction } = require('@jccdex/jingtum-lib')
let nodes = ['https://whskywelldrpc1.jccdex.cn:8443','https://whskywelldrpc2.jccdex.cn:8443']
const jtTransaction = new Transaction('jingtum', nodes)
const node = jtTransaction.getNode()
console.log(node)
设置节点
ts
public function setNodes(nodes: string[]):voidpublic function setNodes(nodes: string[]):void点我运行代码
const { Transaction } = require('@jccdex/jingtum-lib')
let nodes = ['https://whskywelldrpc1.jccdex.cn:8443','https://whskywelldrpc2.jccdex.cn:8443']
const jtTransaction = new Transaction('jingtum', nodes)
let newNodes = ['https://whskywelldrpc3.jccdex.cn:8443']
jtTransaction.setNodes(newNodes)
const node = jtTransaction.getNode()
console.log(node)