thor-devkit Transaction build
by favo
HTML
<script src="https://unpkg.com/@vechain/connex@2"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/index.min.js"></script>
<script>
async function runTest () {
try {
document.getElementById('debug').innerHTML = 'Starting Transaction'
const txId = await testTransfer()
document.getElementById('debug').innerHTML = `Tx ${txId}`
}
catch (err) {
document.getElementById('debug').innerHTML = err.message
}
}
</script>
<center>
<div id="debug"></div>
<button onClick="runTest()">Test Transfer</button>
</center>
CSS
* {
font-family: Courier New;
}
button, div {
padding: 1rem;
}
JavaScript
const delegateUrl = 'https://sponsor-testnet.vechain.energy/by/1'
const to = '0xac7e94b47f53e97ac46323c7f862ec97237489b1'
const comment = 'Test Transfer with Delegation'
const clauses = [{
to,
value: 1 + '0'.repeat(18)
}]
const connex = new Connex({
node: 'https://testnet.veblocks.net/',
network: 'test'
})
async function testTransfer () {
const transaction = new Transaction({
chainTag: Number.parseInt(connex.thor.genesis.id.slice(-2), 16),
blockRef: connex.thor.status.head.id.slice(0, 18),
expiration: 32,
clauses,
gas: connex.thor.genesis.gasLimit,
gasPriceCoef: 128,
dependsOn: null,
nonce: +new Date(),
reserved: {
features: 1 // enables fee delegation
}
})
const signingHash = transaction.signingHash()
const originSignature = secp256k1.sign(signingHash, Buffer.from(wallet.privateKey.slice(2), 'hex'))
const signatures = [originSignature]
alert(originSignature)
}