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

泰州公司网站建设网站推广目的

泰州公司网站建设,网站推广目的,苏州批量关键词优化,网页设计实训总结800字文章目录 前言web3.js 介绍web3.js安装web3.js库模块介绍连接区块链节点向区块链网络发送数据查询区块链网络数据 前言 通过前面的文章我们可以知道基于区块链开发一个DApp#xff0c;而DApp结合了智能合约和用户界面#xff08;客户端#xff09;#xff0c;那客户端是如… 文章目录 前言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版本 adminMacBook-Pro-2 test % node -v v18.16.1 adminMacBook-Pro-2 test % npm -v 9.5.1安装web3.js库: adminMacBook-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 npm9.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://www.hkea.cn/news/14555204/

相关文章:

  • 电脑系统网站建设时间轴 网站模板
  • 织梦绿色企业网站模板工程造价招聘网最新招聘
  • 网站关键词如何收录做直播的网站有哪些
  • 网站关键词密度是怎么计算的北京免费关键词优化
  • 如何网站建设目标字节跳动小程序开发教程
  • 网站开发快速盈利wordpress 当前页码
  • 做直播网站需要学什么填表网站怎么做
  • 网站科技感颜色如何用pageadmin做网站
  • 网站产品详情页怎么做东莞网站建设完整
  • 网站开发如何报价单工商银行与建设银行网站对比
  • 统计局网站集约化建设方案网站空间1g多少钱一年
  • 十堰企业网站制作公司网站备案号信息
  • 如果建手机网站做网页需要什么
  • 企业建设网站软件三种人不能办营业执照
  • 网站外包项目wordpress 手机 跳转
  • 全景网站制作教程全屋整装十大公认品牌
  • 找企业案例的网站福建省建设执业资格中心网站
  • 陈江网站建设郑州做系统集成的公司网站
  • 商城网站做推广方案wordpress去除评论
  • 免费网站图片素材网页后台常用设计尺寸
  • 网站代码设计做生物学的网站
  • 信息门户网站开发合同做房产网站需要注意什么
  • 做毕业设计的网站设计适合小学生摘抄的新闻2022年
  • 网站制作推广需要多少钱免费推广自己的网站
  • 手机怎么样自己做网站秦皇岛做网站的公司
  • 手机网站设计与实现是什么做网站普洱
  • e展网网站的建设情况网站构成的基本结构
  • 婚庆公司收费标准成都网站优化师
  • 网站建设战略伙伴亚马逊云服务器
  • 购买域名如何建设网站江门网页设计公司