Web3.js 是 Ethereum 兼容的 JavaScript API,实现通用 JSON RPC 规范。
Web3.js 在 npm 里作为一个节点模块,在 bower 和 component 里作为一个可嵌入的 js 和一个 meteor.js 包。
使用
Node.js
npm install web3
Meteor.js
meteor add ethereum:web3
作为浏览器模块
Bower
bower install web3
Component
component install ethereum/web3.js
在 html 文件中包含 web3.min.js 。
web3是所有ethereum交互模块的总包。 web3.setProvider() 参数: Object - myProvider: 有效的服务提供者对象。 返回值: Boolean web3.setProvider()方法用来修改指定模块的底层通讯服务提供者。 调用: web3.setProvider(myProvider) web3.eth.setProvider(myProvider) w
以太坊Solidity编程:合约调用与Web3.js 合约部署方法 合约的编译 使用浏览器编译器Remix 使用truffle编译,目前是最常用的编译方式 Solc或者Web3.js编译合约,使用相对较少 基于Remix的编译部署 Remix直接编译即可 部署使用remix的web3 provider形式 部署也可用remix+metamask,但metamask安装需要科学上网 Remix访问的
使用truffle新建个项目 truffle使用参考 truffle文档 文件目录如下: contracts/: Solidity合约目录 migrations/: 部署脚本文件目录 test/: 测试脚本目录,参考 如何测试合约于应用? truffle-config.js: Truffle 配置文件 写个简单的合约,并且部署到本地。 本地的节点是利用ganache-cli。 在src文件
web3简介 注意 web3.js 有两个不兼容的版本:0.20.x及1.0beta,1.0对0.20版本做了重构。 本文档是web3.js 0.20.x版本翻译,其对应的官方文档地址在 JavaScript-API 。 如果你使用的是 web3.js 1.0版本,其对应的官方文档地址在 Web3js Readthedocs 。 Web3是一套和以太坊节点进行通信的API,如果我们需要基于以太坊来
如果您的团队在生产中使用Web3JS,那么您必须意识到Web3JS中没有内置的重新连接功能来处理区块链断开或重新启动。 因此,通常,当连接断开时,NodeJS服务也需要重新启动才能再次连接到区块链。 代码: let hasProviderEnded = false , web3Instance, reconnectInterval = 10000 ; var lockReconne
用户帐户在以太坊的各种环境中使用,包括作为标识符和用于签署交易。 首先需要判断用户浏览器有没有安装Metamask插件 if (typeof window.ethereum.isMetaMask === 'undefined') { alert('看起来您需要一个 Dapp 浏览器才能开始使用。') alert('请安装 MetaMask!
web3.js中的交易方法调用: (1)调用方式1 contractAddr.register(amount, {from: account}); 注意一定要传from参数,也就是哪一个账户去调用的。否则会调用失败。【from参数不能省略】 (2)调用方式2 contractAddr.register(amount, {from: account}).then(function(returnVal
想知道关于更多的区块链技术问题,请搜索【链客区块链技术问答社区】 概念 什么是web3.js呢? 答: Web3.js是以太坊提供的一个JavaScript库,它封装了以太坊的RPC通信API,提供了一系列与区块链交互方法,使JavaScript与以太坊交互变得简单。 以太坊节点通过JSON-RPC提供外部访问接口,Web3.js是基于JavaScript和
web3.js有0.2版本和1.0版本的区别,本文列出的是web3.js 1.0版本提供的api。 首先,需要注意web3.js的如下几个注意事项: 1、使用callbacks web3.js的API使用的是异步http请求,如果需要同步,则需要使用回调函数: web3.eth.getBlock(48, function(error, result){ if(!error)
web3.js是以太坊提供的一个Javascript库,它封装了以太坊的JSON RPC API,提供了一系列与区块链交互的Javascript对象和函数,包括查看网络状态,查看本地账户、查看交易和区块、发送交易、编译/部署智能合约、调用智能合约等,其中最重要的就是与智能合约交互的API。 下面就介绍如何使用web3.js提供的接口调用智能合约。 系统和软件 Ubuntu 16.04 64位 no
以太坊(Ethereum)是一个支持智能合约的区块链平台,它与比特币最大的不同是,以太坊通过一个虚拟机(EVM)可以运行智能合约。 以太坊是Vitalik Buterin(维塔利克·布特林,人称V神)在2013年提出的概念,Vitalik最早参与了比特币社区的开发,并希望比特币把功能受限的脚本扩展成图灵完全的编程环境,但没有得到比特币开发社区的认同,于是他决定另起炉灶,打造一个新的区块链平台,目标
将以太坊地址转换为直接IBAN实例对象。 调用: web3.eth.Iban.fromEthereumAddress(address) 参数: address:String,要转换的以太坊地址 返回值: Object - IBAN实例对象 示例代码: web3.eth.Iban.fromEthereumAddress("0x00c5496aEe77C1bA1f0854206A26DdA82a81
将直接IBAN地址转换为以太坊地址。IBAN实例对象也有此方法。 调用: web3.eth.Iban.toAddress(ibanAddress) 参数: ibanAddress: String, 要转换的IBAN地址 返回值: String - 以太坊地址 示例代码: web3.eth.Iban.toAddress("XE7338O073KYGTWWZN0F2WZ0R8PX5ZPPZS");
将以太坊地址转换为直接IBAN地址。 调用: web3.eth.Iban.toIban(address) 参数: address:String,要进行转换的以太坊地址 返回值: String - IBAN地址 示例代码: web3.eth.Iban.toIban("0x00c5496aEe77C1bA1f0854206A26DdA82a81D6D8"); > "XE7338O073KYGTWWZ
将直接IBAN地址转换为以太坊地址。IBAN实例对象也有此方法。 调用: web3.eth.Iban.toAddress(ibanAddress) 参数: ibanAddress: String, 要转换的IBAN地址 返回值: String - 以太坊地址 示例代码: web3.eth.Iban.toAddress("XE7338O073KYGTWWZN0F2WZ0R8PX5ZPPZS");
以太坊测试链 针对Ethereum以太坊有许多专用测试网络或者叫测试链,他们由各种客户端支持。 1.Rinkeby:只支持geth客户端。 2.Kovan:只支持Parity客户端。 3.Ropsten:支持geth和Parity客户端。 对于开发,建议你使用Rinkeby或KoVan测试链。这是因为他们使用的工作量证明POA共识机制,确保交易和块能够一致并及时的创建。Ropsten测试链,虽然最
Frontier是以太坊(Ethereum)网络第一个发布版, 当进入此未知领域,希望你可以测试和探索它。它有很多的危险,也会存在没有被发现的陷阱,也可能会有肆虐的海盗等待攻击你,但是也蕴含着很多的机会 什么是以太坊 和其他先进系统一样,以太坊对不同的人意味着不同的东西,在阅读本节时,有些地方不会引起你的共鸣或者让你感觉没有意思。没关系,直接跳到下一章节,希望可以给你更多启发。假如你读到本章节的末
签署以太坊交易 要使脱机签名交易得到签署,需要设定一个RawTransaction类型。RawTransaction类似于前面提到的Transaction类型,但是它不需要通过具体的账号地址来请求,因为可以从签名中推断出来。 为了创建和签署原生交易,交易的顺序如下: 1.确定交易发起者帐户的下一个可用随机数nonce 2.创建RawTransaction对象 3.使用递归长度前缀编码(RLP即Re