钱包转账"/>
使用 Web3 转账 BNB BEP20 钱包转账
好的,我知道这个问题被问了大约 500 次。我已经浏览了已经给出的答案,但一切总是不完整的。
我需要做的是得到估计的汽油价格 获取当前随机数 随机数加 1
在 BNB 智能链上转移(n)个 BEP20 代币。我已经尝试了大约 500 种变体,并最终将其稀释成一段相当不错的代码。但出于某种原因,我的交易得到了一个哈希值,但只是超时并且永远不会处理。我想这可能是我放气的方式,但老实说我不知道。
我真的很感谢这里的一些意见,这样我就可以一劳永逸地解决这个问题。
var Web3 = require('web3')
var Tx = require("ethereumjs-tx").Transaction
const Common = require('ethereumjs-common');
const BSCNode = 'https://mybnbnode/somewhere_over_the_rainbox';
const _DemoWallet_ = '0xDeBCBca7f21aB70DA4e7860a112FEB3d8Fd04db5';
const _PrivateKey_ = "mydaalongassdf9privatekey9de5d32thatcouldbeanythingfbutitshere";
const _ContractAddress_ = '0xe63c37e50A045c247b5003e24bA066f1cc3f0Ff3'; //joyg;
const web3 = new Web3(new Web3.providers.HttpProvider(BSCNode));
const sendTransfer = async(id, to_wallet, to_amount) => {
console.log('in send transfer');
console.log(id);
console.log(to_wallet);
console.log(to_amount);
console.log(`web3 version: ${web3.version}`)
var contractAddress = _ContractAddress_;
var senderWalletAddress = _DemoWallet_;
var senderWalletKey = _PrivateKey_;
var receiverWalletAddress = to_wallet;
var contract = new web3.eth.Contract(_ContractABI_, contractAddress, {
from: senderWalletAddress
});
web3.eth.accounts.wallet.add(senderWalletKey);
//this usually return a number like 36423
contract.methods.transfer(receiverWalletAddress, to_amount).estimateGas({
gas: 5000000
}, function(error, gasAmount) {
console.log('estimated gas amount ');
console.log(gasAmount);
});
web3.eth.getTransactionCount(senderWalletAddress, 'pending')
.then(async function(currentNonce) {
console.log('currrent nonce is');
console.log(currentNonce);
currentNonce++;
console.log("processing : " + id + " : " + to_wallet + " : " + to_amount)
let myReceipt = await contract.methods.transfer(receiverWalletAddress, to_amount).send({
gas: web3.utils.toHex(5000000), //hardcoded this because not sure to do with estimated gas
nonce: currentNonce
});
//YOu want transaction hash out of this result
console.log(myReceipt);
});
};
sendTransfer(3, "0xsomewalletaddress", "1525323");
/* Moved down here to keep out of demo */
const _ContractABI_ = JSON.parse('[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getunlockedAfter","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"lockedPeriodOver","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawLockedTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]');
回答如下:
更多推荐
使用 Web3 转账 BNB BEP20 钱包转账
本文发布于:2024-05-13 16:52:38,感谢您对本站的认可!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
- 上一篇: 跳蚱蜢(蓝桥杯 )
- 下一篇: CVPR2019(二)
发布评论