使用 Web3 转账 BNB BEP20 钱包转账

编程入门 行业动态 更新时间:2024-10-07 08:30:11

使用 Web3 转账 BNB BEP20 <a href=https://www.elefans.com/category/jswz/34/1764763.html style=钱包转账"/>

使用 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小时内删除。
本文标签:钱包   BNB

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!