web3.js + Ganache 模拟以太坊账户间转账

转账前:

转账后:

javascript 复制代码
async function interact() {
  const web3 = new Web3(
    new Web3.providers.HttpProvider('http://127.0.0.1:7545')
  )
  web3.eth.Contract.handleRevert = true
  const accounts = await web3.eth.getAccounts()

  console.log(accounts)

  let balance1, balance2

  balance1 = await web3.eth.getBalance(accounts[0])

  balance2 = await web3.eth.getBalance(accounts[1])

  console.log(balance1, web3.utils.fromWei(balance1, 'ether'))
  console.log(balance2, web3.utils.fromWei(balance2, 'ether'))

  const transaction = {
    from: accounts[0],

    to: accounts[1],

    value: web3.utils.toWei('1', 'ether'),
  }

  const transactionHash = await web3.eth.sendTransaction(transaction)

  console.log('transactionHash', transactionHash)

  balance1 = await web3.eth.getBalance(accounts[0])

  balance2 = await web3.eth.getBalance(accounts[1])

  console.log(balance1, web3.utils.fromWei(balance1, 'ether'))
  console.log(balance2, web3.utils.fromWei(balance2, 'ether'))

  // const gasPrice = await web3.eth.getGasPrice()

  // console.log('gasUsed', transactionHash.gasUsed)
  // console.log('价格', web3.utils.fromWei(gasPrice, 'ether'))
  let total =  transactionHash.effectiveGasPrice * transactionHash.gasUsed + balance1 + balance2
  console.log('total', total)

  const block = await web3.eth.getBlockNumber()

  console.log('Last block:', block)
}

人工智能学习网站

https://chat.xutongbao.top

相关推荐
前端小怪兽zmy4 小时前
Vue3实现纯前端语音输入成文字显示
前端·javascript·elementui
wangxingps4 小时前
phpmyadmin版本对应的各php版本
服务器·开发语言·php
独自破碎E4 小时前
消息队列如何处理重复消息?
java·开发语言·rocketmq
鱼鱼块4 小时前
告别重复传参!用柯里化提升代码优雅度
前端·javascript·面试
chilavert3184 小时前
技术演进中的开发沉思-274 AJax :Button
前端·javascript·ajax·交互
superman超哥4 小时前
仓颉元数据编程:属性标注机制的设计原理与深度实践
开发语言·仓颉编程语言·仓颉·仓颉元数据·仓颉元数据编程
a程序小傲4 小时前
得物Java面试被问:Fork/Join框架的使用场景
java·开发语言·面试
小笔学长4 小时前
观察者模式:实现对象间的消息传递
javascript·观察者模式·项目实战·前端开发
伯明翰java4 小时前
Java多态
java·开发语言
秋邱4 小时前
Java String家族全解析:String底层原理、常用方法与StringBuffer/StringBuilder区别
java·开发语言