A hierarchical deterministic wallet is a digital wallet commonly used to store the keys for holders of cryptocurrencies.
Step 2: Wallet Initialisation
const { Wallet, prepareTransaction } = require('expand-network');
const wallet = new Wallet({ privateKey:'SENDER_PRIVATE_KEY', xApiKey:xApiKey});
Step 3: Prepare Transaction
const chainId = '1'; // Replace with other chainId to toggle between chains
const preparedTx = {
"from": "SENDER_WALLET_ADDRESS",
"value": "10000",
"to": "RECEIVER_WALLET_ADDRESS",
"chainId": "1",
"gas": "25000",
"xApiKey": "YOUR_API_KEY"
};
const signedTx = await wallet.signTransaction(preparedTx);
signedTx.chainId = '1';
console.log(signedTx);
const tx = await wallet.sendTransaction(signedTx);
console.log(tx.data);
Sample code to approve a fungible token using any HD wallet:
const { Wallet, prepareTransaction } = require('expand-network');
const xApiKey = 'YOUR_API_KEY'; //Replace this with your API key
async function main() {
const chainId = '1';
const preparedTx = await prepareTransaction('https://api.expand.network/fungibletoken/approve', {
"from": "OWNER_WALLET_ADDRESS",
"value": "10000",
"to": "SPENDER_WALLET_ADDRESS",
"chainId": "1",
"gas": "25000",
"xApiKey": xApiKey
};
const wallet = new Wallet({ privateKey:'SENDER_PRIVATE_KEY', xApiKey:xApiKey});
const signedTx = await wallet.signTransaction(preparedTx);
signedTx.chainId = '1';
console.log(signedTx);
const tx = await wallet.sendTransaction(signedTx);
console.log(tx.data);
}
main();