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

建什么网站赚钱网站域名dns

建什么网站赚钱,网站域名dns,最新军事动态,品牌网站建设专业定制web3.js Web3 JavaScript app APIweb3.js是一个JavaScript API库#xff0c;一般使得DApp在以太坊上运行web3.js通过RPC调用与本节点通信#xff0c;用于任何暴露了RPC层的以太坊节点之间通信web3包含了eth对象#xff0c;即web3.eth#xff08;专门和以太坊区块链交互一般使得DApp在以太坊上运行web3.js通过RPC调用与本节点通信用于任何暴露了RPC层的以太坊节点之间通信web3包含了eth对象即web3.eth专门和以太坊区块链交互和shh对象即web3.shh用于和Whisper交互,消息传递 DEV模式的私有链 在myDevChain文件夹下面搭建了私有链使用命令启动私有链geth --datadir . --networid 15 console 2output.log输入web3即可查看关于web3的相关组件比如bzz、dp操作数据库的一般是mongdb)、eth等等 web3模块加载 新建一个文件夹使用命令cnpm init初始化初始化完成之后会生成一个package.json的包管理文件然后安装指定的web3模块的版本首先需要将web3模块安装在项目中,使用命令如下--save-dev是将环境添加到开发环境的依赖中去 cnpm install web30.20.1 --save-dev 可以使用此刻最新版1.2.6安装完成之后会在文件夹下面生成node_modules文件夹cd进入之后使用ls命令可以看到web3模块使用命令cnpm list web3查看web3的相关内容查看安装web3的版本 cnpm list web3然后创建一个web3实例设置一个“provider”provider是指服务的启动者使用provider启动接口服务为了保证MetaMask设置好的provider不被覆盖掉在引入web3之前需要进行环境检查以v0.20.1为例 if(typedef web3 ! undefined){web3 new Web3(web3.currentProvider); }else{web3 new Web3(new Web3.providers.HttpProvider(http://localhost:8545)); } 异步回调callback 使用eth.blocknumber()返回区块的高度使用eth.getBlock(x),返回高度为x的区块的具体内容 web3.js设计的最初目的是为了和本地的RPC共同使用所以默认情况下发送的是同步的HTTP请求(同步容易堵塞一般都是采用异步的方式)如果发送的是异步的请求可以在函数的最后一个参数位置上传入一个回调函数。回调函数是可选的optional回调风格一般采用“错误优先”的方式其中function为回调函数 web3.eth.getBlock(48,function(error,result)){if(!error)console.log(JSON.stringify(result));elseconsole.error(error); } 回调Promise事件V1.0.0 应用二进制接口ABI web3.js通过以太坊智能合约的json接口Application Binary InterfaceABI创建一个JavaScript对象用来在js代码中描述函数functions type函数类型默认是“function”也可能是“constructor”constant、payable和stateMutability:函数的状态是可变性inputs、outputs函数输入、函数输出参数描述列表事件events type类型总是“event”inputs输入对象的列表包括name、type和indexed使用 在web3文件夹下面创建合约文件夹mkdir contractcd contract,进入合约文件夹下touch Coin.sol创建合约将remix中的合约拷贝进去执行编译 solcjs --abi Coin.sol就会在当前文件夹下面生成一个以abi结尾的文件查看这个以abi结尾的文件具体内容如下主要包含两类内容事件和函数 [{constant:true,inputs:[{name:,type:address}],name:balances,outputs:[{name:,type:uint256}],payable:false,stateMutability:view,type:function},{constant:true,inputs:[],name:miner,outputs:[{name:,type:address}],payable:false,stateMutability:view,type:function},{constant:false,inputs:[{name:receiver,type:address},{name:amount,type:uint256}],name:mint,outputs:[],payable:false,stateMutability:nonpayable,type:function},{constant:false,inputs:[{name:receiver,type:address},{name:amount,type:uint256}],name:send,outputs:[],payable:false,stateMutability:nonpayable,type:function},{inputs:[],payable:false,stateMutability:nonpayable,type:constructor},{anonymous:false,inputs:[{indexed:false,name:from,type:address},{indexed:false,name:to,type:address},{indexed:false,name:amount,type:uint256}],name:Sent,type:event} ] solcjs --bin Coin.sol生成bin文件bin文件就是提交合约最后部署的文件输入node打开控制台也就是js执行环境  操作引入web3 先在本地启动一个区块链私有链输入node进入 node.js页面输入 var web3 require(web3)输入web3输入var web3 new Web3(new Web3.providers.HttpProvider(http://localhost:8545))输入web3可以查看已经创建好了web3输入web3.isConnected查看是否连接区块链如果返回为false需要在myDevChain文件夹下面启动私有区块链并且开启rpc服务输入web3.version查看web3的版本 批处理请求batch requests 批处理请求允许将请求排序然后一起处理注意批量请求不会更快。实际上在某些情况下一次性发出多个请求反而会更快因为请求是采用异步处理的方式进行的批处理请求主要确保请求的顺序并且采用串行处理的方式 大数处理big numbers JavaScript默认处理的数字精确度比较小所以web3.js会自动添加一个依赖库文件BigNumber专门用于处理大数据对于数值应该习惯将它转化为BigNumber对象来处理 BigNumber.tostring(10)对小数只保留20位浮点精确度。所以推荐做法是内部使用wei来显示余额大整数只有需要给用户看的时候才转化为ether或者其他单位例子 var BigNumber require(bignumber.js) var balance new BigNumber(1231231231123325647673565363777373733833222); balance.plus(21).tostring(10);//或者直接输入balance就可以tostring位数转化进制//s表示正负数1表示正数-1表示负数 //e表示科学技法中的10的位数 //c数组每14位切割一次定义成数组 使用balance.tostring将所有的数字拼接成一个字符串输出也可以在在中加入数字表示进制的转化但是如果改成浮点数会造成精度的缺失 常用的API基本信息查询 不同web3版本之间使用的差异web3.js V1.2.6版本参考链接初始完provider还可以重新设定provider输入geth --help 在API AND CONSOLE OPTIONS选项下面可以看到其余的连接方式除了Http其余的连接方式--ws8546端口推荐、ipcdisable方式进程之间调用 使用命令启动区块链之后会在当前目录下面生成geth.ipc文件。命令为 geth --datadir /Users/chy/Desktop/myeth/chaindata --rpc  --networkid 6666 console 2output.log此处的netwokid是在gensis.json里面写死的如果忘记可以使用cat gensis.json查看chainid后面的内容 web3通用工具方法 以太单位转换 web3.fromWei   web3.toWei数据类型转换 web3.toString  web3.toDecimal   web3.toBigNumber字符编码转换 web3.toHex  web3.toAscii  web3.toUtf8  web3.fromUtf8地址相关 web3.isAddress web3.toChecksumAddress web3.eth 账户相关 如果已经启动了一个监听器再次定义新的监听器需要将先前的监听器干掉使用命令filter.stopWatching()命令 注意 ctrlL清屏web3不同的版本之间命令发生了变化。需要看官方的文档 相关命令 web3.eth.getBlock(2) //2是区块的位置会显示相关的信息但是其包含的交易只显示哈希值web3.eth.getBlock(2true) //2是区块的位置会显示相关的更加具体的信息包括其中交易的哈希值
http://www.pierceye.com/news/768758/

相关文章:

  • 做网站要求什么条件计算机网络技术学什么
  • 建设网站呼叫中心有什么好处中国能源建设集团有限公司级别
  • 免费论坛建站二 网站建设的重要性
  • wordpress站点迁移怎样做带音乐的表白网站
  • 海淀网站制作网站建设基本技术
  • 做一个平面网站的成本如何搭建一个app平台
  • 建设工程学部研究生培养网站义乌网站建设和制作
  • 简单的模板网站吉安网站建设jxthw
  • js做的网站佛山本地的网站设计公司
  • 企业网站页面网站建设朝阳
  • ui设计工具有哪些百度seo排名优化系统
  • 网站建设案例简介怎么写淘宝官方网站主页
  • 国外网站 dns南京模板做网站
  • 河北企业网站建设技术江西省外省建设入库网站
  • 网站建设的概念如何将自己做的网站放到网上去
  • 网站维护明细报价表最新的网站建设架构
  • 百度大全seo推广话术
  • 做网站赚钱流程英文网站建设注意什么
  • 腾讯 云上做网站教程开源系统 网站
  • 临沂罗庄做网站服装商城网站建设价格
  • 保定企业官网搭建对网站有效的优化软件
  • 网站后台代码在哪修改股权众筹网站建设
  • 站群源码北京公司注销
  • 营销型网站策划建设台州市住房和城乡建设厅网站
  • 达内网站开发课程wordpress自动添加标签页
  • 免费的个人网站空间我做淘宝网站卖东西怎么激活
  • 织梦dedecms女性时尚门户网站模板常州网络推广平台
  • 网站怎么在百度搜不到资源网源码
  • 怎样网站制作设计广西住房城乡建设部官网
  • 手机网站建设方案书王烨是哪个小说的主角