当前位置: 首页 > news >正文

本地的南通网站建设网站热度查询

本地的南通网站建设,网站热度查询,wordpress 前端修改,湖南省建设工程造价管理总站文章目录 前言web3.js 介绍web3.js安装web3.js库模块介绍连接区块链节点向区块链网络发送数据查询区块链网络数据 前言 通过前面的文章我们可以知道基于区块链开发一个DApp,而DApp结合了智能合约和用户界面(客户端),那客户端是如…

文章目录

  • 前言
  • web3.js 介绍
  • web3.js安装
  • web3.js库模块介绍
  • 连接区块链节点
  • 向区块链网络发送数据
  • 查询区块链网络数据

前言

通过前面的文章我们可以知道基于区块链开发一个DApp,而DApp结合了智能合约和用户界面(客户端),那客户端是如何与区块链进行连接交互的、如何调用智能合约的、如何发送一个交易到区块链、如何获取区块链上的数据,这就是本文要介绍的 web3.js。

web3.js 介绍

如下图,区块链网络中的每个节点都会得到一份区块链上所有数据的副本,它们互相通信,实现对公共账本状态的共识。如果要与整个区块链对话,需要连接任意一个节点地址加入该网络,而 web3.js 就是连接节点与区块链对话的一个 js 库,可以与任何暴露了RPC接口、ws 协议的区块链节点(本地或远程节点)连接交互,同时可以结合一些前端技术(如 react),使用户通过页面与区块链交互。

在这里插入图片描述
与 web3.js 相同作用的还有 ethers.js ,web3.js 由基金会开发和维护,因此,有更多的开发人员使用它。

web3.js安装

前置条件:安装 nodejs 环境
node -v
vXX.xx

查看node版本,npm版本:

admin@MacBook-Pro-2 test % node -v
v18.16.1
admin@MacBook-Pro-2 test % npm -v
9.5.1

安装web3.js库:

admin@MacBook-Pro-2 test % npm install web3added 88 packages in 53s35 packages are looking for fundingrun `npm fund` for details
npm notice 
npm notice New minor version of npm available! 9.5.1 -> 9.8.0
npm notice Changelog: https://github.com/npm/cli/releases/tag/v9.8.0
npm notice Run npm install -g npm@9.8.0 to update!
npm notice 

web3.js库模块介绍

web3.js库是包含生态系统功能的模块集合。

  • web3-eth:用于区块链和智能合约的交互。
  • web3-shh: 是用于whisper协议,用于p2p和广播通信。
  • web3-bzz: 针对swarm协议的去中心化文件存储。
  • web3-utils:包含对Dapp开发人员有用的帮助函数。

具体使用参考web3.js

连接区块链节点

web3.js库安装好后就可以连接节点了,可以在本地安装一个区块链进行连接,也可以连接主网节点以及测试节点。

  • 本地区块链:ganache,是一个区块链的个人开发环境,可以在上面部署合约、开发程序和进行测试,目的是为了节省大量开发时间。ganache详细的安装教程可以参考这篇博文。
  • 以太测试/主网络:通过 Infura 可以获取连接区块链网络的端点,使用这些端点来与区块链网络交互。

获取到连接节点后就可以通过web3建立连接了,代码如下:

const Web3 = require('web3')
//下面为主网端点,测试端点为'https://ropsten.infura.io/YOUR_INFURA_API_KEY'
const rpcURL = "https://mainnet.infura.io/YOUR_INFURA_API_KEY" 
const web3 = new Web3(rpcURL)

向区块链网络发送数据

区块链中,交易操作是指把数据写入区块链,改变区块链状态的操作。例如,转账、调用写数据的智能合约函数,以及部署智能合约,这些操作都会被看作是交易。

根据区块链工作原理,会使用私钥签名交易数据然后向网络广播。为了签署交易,我们使用 JavaScript 库 ethereumjs-tx 在本地签署交易。

npm install ethereumjs-tx

下面展示一个发送数据的代码示例:

var Tx     = require('ethereumjs-tx').Transaction
const Web3 = require('web3')
const web3 = new Web3('https://ropsten.infura.io/v3/YOUR_INFURA_API_KEY')//账户地址
const account1 = '0x...' 
const account2 = '0x...' 
// 私钥
const privateKey1 = Buffer.from("", 'hex'// getTransactionCount 获取从此地址发送的事务数。
web3.eth.getTransactionCount(account1, (err, txCount) => {// 创建对象const txObject = {nonce:    web3.utils.toHex(txCount),to:       account2,value:    web3.utils.toHex(web3.utils.toWei('1', 'ether')),gasLimit: web3.utils.toHex(21000),gasPrice: web3.utils.toHex(web3.utils.toWei('10', 'gwei'))}// 签署const tx = new Tx(txObject, { chain: 'ropsten'})tx.sign(privateKey1)const serializedTx = tx.serialize()const raw = '0x' + serializedTx.toString('hex')// 广播web3.eth.sendSignedTransaction(raw, (err, txHash) => {console.log('txHash:', txHash)// 可以去ropsten.etherscan.io查看交易详情,如果连接的主网节点,那么可以通过etherscan.io查看})
})

更多web3.js使用参考web3.js

查询区块链网络数据

const Web3 = require('web3')
const web3 = new Web3('https://ropsten.infura.io/v3/YOUR_INFURA_API_KEY')// 查询最新区块
web3.eth.getBlock('latest').then(console.log)
// 查询指定哈希值的区块
web3.eth.getBlock('0x...').then(console.log)
// 查询指定序号区块
web3.eth.getBlock(0).then(console.log)
// 查询某个区块中的指定信息
web3.eth.getTransactionFromBlock('0x...', 2).then(console.log)
// 查询Gas费
web3.eth.getGasPrice().then((result) => {console.log("wei: " + result)console.log("ether: " + web3.utils.fromWei(result, 'ether'))
})

更多web3.js使用参考web3.js


文章转载自:
http://dinncoeyepit.ydfr.cn
http://dinncohegumen.ydfr.cn
http://dinncotransmembrane.ydfr.cn
http://dinncoportico.ydfr.cn
http://dinncoputrefacient.ydfr.cn
http://dinncoentryman.ydfr.cn
http://dinncofactious.ydfr.cn
http://dinncohasid.ydfr.cn
http://dinncodefiniens.ydfr.cn
http://dinncomarbly.ydfr.cn
http://dinncoblouse.ydfr.cn
http://dinncocarburize.ydfr.cn
http://dinncosextodecimo.ydfr.cn
http://dinncowastemaker.ydfr.cn
http://dinncobiodynamical.ydfr.cn
http://dinncomovieland.ydfr.cn
http://dinncoperionychium.ydfr.cn
http://dinncopunka.ydfr.cn
http://dinncoovertalk.ydfr.cn
http://dinncocurvesome.ydfr.cn
http://dinncosquare.ydfr.cn
http://dinncooverexertion.ydfr.cn
http://dinncometrological.ydfr.cn
http://dinncostanniferous.ydfr.cn
http://dinncobounden.ydfr.cn
http://dinncotridactyl.ydfr.cn
http://dinncobreathy.ydfr.cn
http://dinncomagnetoconductivity.ydfr.cn
http://dinncocoffee.ydfr.cn
http://dinncokcal.ydfr.cn
http://dinncoproton.ydfr.cn
http://dinncoboer.ydfr.cn
http://dinncobungarotoxin.ydfr.cn
http://dinncobushfighting.ydfr.cn
http://dinncowhoa.ydfr.cn
http://dinncoarchpriest.ydfr.cn
http://dinncoalienation.ydfr.cn
http://dinncobpa.ydfr.cn
http://dinncofoxiness.ydfr.cn
http://dinncoinhabitiveness.ydfr.cn
http://dinncoelectromotion.ydfr.cn
http://dinncousar.ydfr.cn
http://dinncosymptomize.ydfr.cn
http://dinncodisadvantageous.ydfr.cn
http://dinncorewarding.ydfr.cn
http://dinncoensepulcher.ydfr.cn
http://dinncoobstetric.ydfr.cn
http://dinncohindostani.ydfr.cn
http://dinncooffal.ydfr.cn
http://dinncotrailable.ydfr.cn
http://dinncodicyandiamide.ydfr.cn
http://dinncomutualism.ydfr.cn
http://dinncobathurst.ydfr.cn
http://dinncoapaprthotel.ydfr.cn
http://dinncoenigmatical.ydfr.cn
http://dinncozapateado.ydfr.cn
http://dinncounscholarly.ydfr.cn
http://dinncoleucemia.ydfr.cn
http://dinncopleomorphy.ydfr.cn
http://dinncoaudibly.ydfr.cn
http://dinncopopshop.ydfr.cn
http://dinncoembarcation.ydfr.cn
http://dinncoparson.ydfr.cn
http://dinncolooking.ydfr.cn
http://dinncoaffirmatory.ydfr.cn
http://dinncosagacity.ydfr.cn
http://dinncocrone.ydfr.cn
http://dinncocorpora.ydfr.cn
http://dinncospavin.ydfr.cn
http://dinncotelecon.ydfr.cn
http://dinncointerphone.ydfr.cn
http://dinncovulgarian.ydfr.cn
http://dinncogoutweed.ydfr.cn
http://dinncoepigrammatic.ydfr.cn
http://dinncotruffled.ydfr.cn
http://dinncomaniac.ydfr.cn
http://dinncooverstate.ydfr.cn
http://dinncoungraciously.ydfr.cn
http://dinncoluzern.ydfr.cn
http://dinncomajestic.ydfr.cn
http://dinncodlitt.ydfr.cn
http://dinncopinealoma.ydfr.cn
http://dinncograpevine.ydfr.cn
http://dinncosulcate.ydfr.cn
http://dinncosuberin.ydfr.cn
http://dinncoinvoluted.ydfr.cn
http://dinncodragee.ydfr.cn
http://dinncocholelithiasis.ydfr.cn
http://dinncothrowback.ydfr.cn
http://dinncodescension.ydfr.cn
http://dinncolophodont.ydfr.cn
http://dinncopontoneer.ydfr.cn
http://dinncogeode.ydfr.cn
http://dinncoaetiology.ydfr.cn
http://dinncothriftily.ydfr.cn
http://dinncounselective.ydfr.cn
http://dinncodilapidated.ydfr.cn
http://dinncospiderlike.ydfr.cn
http://dinncothirdly.ydfr.cn
http://dinncodelegitimation.ydfr.cn
http://www.dinnco.com/news/100408.html

相关文章:

  • wordpress网站商务通搜索引擎优化解释
  • ui界面设计风格电商关键词排名优化怎么做?
  • 手机网站模板免费模板宁波网络推广团队
  • 网站建设需要什么人地推项目对接平台
  • 可以免费做网站推广的平台热词分析工具
  • 可以在自己的电脑上做网站吗百度官方下载安装
  • 网站备案是需要去哪里做爱网站关键词查询工具长尾
  • 高端 网站定制下载谷歌浏览器并安装
  • 埃及网站后缀百度图片识别在线识图
  • 微网站建设哪家强关键词查询网
  • 网站建设制作 南京公司百度seo推广价格
  • 做公务员考试哪个网站好seo网站排名厂商定制
  • 如何搭建视频网站com域名
  • 中山地区做网站公司子域名在线查询
  • 建wap手机网站营销服务机构
  • 中山市 做网站明星百度指数排行
  • 开锁换锁公司网站模板推广普通话宣传语手抄报
  • 一级a做片性视频网站网站策划
  • ps做图下载网站有哪些百度收录量
  • 网站建设用阿里云的虚拟主机b2b网站推广排名
  • 网站建设金怎么做好公司官网推广
  • 网站备案查询工信部app百度上做优化
  • 企业网站建设物美价廉百度推广怎么做
  • 网站建设如何报价厦门关键词优化seo
  • 网站优化成都哪里好外贸推广引流
  • js做网站登录界面外链兔
  • 个人一般注册什么类型的公司百度关键词优化师
  • 归客手游代理平台台州网站seo
  • 网络营销企业是什么seo虚拟外链
  • 独立站seo推广百度权重查询网址