tonweb
Version:
TonWeb - JavaScript API for TON blockchain
69 lines (52 loc) • 2.46 kB
HTML
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Wallet Example</title>
</head>
<body>
<script src="../dist/tonweb.js"></script>
<script>
async function example() {
const nacl = TonWeb.utils.nacl; // use nacl library for key pairs
const tonweb = new TonWeb();
const keyPair = nacl.sign.keyPair(); // create new random key pair
let secretKey = keyPair.secretKey;
let wallet = tonweb.wallet.create({publicKey: keyPair.publicKey}); // create interface to wallet smart contract (wallet v3 by default)
// OR
wallet = tonweb.wallet.create({address: 'EQDjVXa_oltdBP64Nc__p397xLCvGm2IcZ1ba7anSW0NAkeP'}); // if your know only address at this moment
secretKey = TonWeb.utils.hexToBytes('cdd624b8c960fc419d207689dd4c3bcadca7a0df53b664f97ac06454efe90c4b1dc1391e4affae5fa96b194b97de179926d791107846d80dacf700a9db1e8f7c');
const address = await wallet.getAddress();
console.log('address=', address.toString(true, true, true, false));
const seqno = await wallet.methods.seqno().call(); // call get-method `seqno` of wallet smart contract
console.log('seqno=', seqno);
// DEPLOY
const deploy = wallet.deploy(secretKey); // deploy method
const deployFee = await deploy.estimateFee() // get estimate fee of deploy
console.log(deployFee);
const deploySended = await deploy.send() // deploy wallet contract to blockchain
console.log(deploySended);
const deployQuery = await deploy.getQuery(); // get deploy query Cell
console.log(deployQuery);
// TRANSFER COINS
const transfer = wallet.methods.transfer(
{
secretKey: keyPair.secretKey,
toAddress: 'EQDjVXa_oltdBP64Nc__p397xLCvGm2IcZ1ba7anSW0NAkeP',
amount: TonWeb.utils.toNano(0.01), // 0.01 TON
seqno: seqno,
payload: 'Hello',
sendMode: 3,
}
);
const transferFee = await transfer.estimateFee(); // get estimate fee of transfer
console.log(transferFee);
const transferSended = await transfer.send(); // send transfer query to blockchain
console.log(transferSended);
const transferQuery = await transfer.getQuery(); // get transfer query Cell
console.log(transferQuery);
}
example();
</script>
</body>
</html>