web3

web3 对象提供了所有方法

示例

var Web3 = require('web3');
// create an instance of web3 using the HTTP provider.
// NOTE in mist web3 is already available, so check first if it's available before instantiating
var web3 = new Web3(new Web3.providers.HttpProvider("http://localhost:8545"));

示例 using HTTP Basic Authentication

var Web3 = require('web3');
var web3 = new Web3(new Web3.providers.HttpProvider("http://localhost:8545", 0, BasicAuthUsername, BasicAuthPassword));
//Note: HttpProvider takes 4 arguments (host, timeout, user, password)

web3.version

web3.version.api

web3.version.api

返回值

String - 以太坊js的api版本.

示例

var version = web3.version.api;
console.log(version); // "0.2.0"

web3.version.node

web3.version.node
// or async
web3.version.getNode(callback(error, result){ ... })

返回值

String - 客户端或节点的版本信息.

示例

var version = web3.version.node;
console.log(version); // "Mist/v0.9.3/darwin/go1.4.1"

web3.version.network

web3.version.network
// or async
web3.version.getNetwork(callback(error, result){ ... })

返回值

String - 网络协议版本.

示例

var version = web3.version.network;
console.log(version); // 54

web3.version.ethereum

web3.version.ethereum
// or async
web3.version.getEthereum(callback(error, result){ ... })

返回值

String - 以太坊的协议版本.

示例

var version = web3.version.ethereum;
console.log(version); // 60

web3.version.whisper

web3.version.whisper
// or async
web3.version.getWhisper(callback(error, result){ ... })

返回值

String - Twhisper协议的版本.

示例

var version = web3.version.whisper;
console.log(version); // 20

web3.isConnected

web3.isConnected()

检查是否与节点连接上

参数

返回值

Boolean:true表示已连接

示例

if(!web3.isConnected()) {// show some dialog to ask the user to start a node} else {// start web3 filters, calls, etc}

web3.setProvider

web3.setProvider(provider)

设置网络通信服务提供对象.

参数

none

返回值

undefined:通信服务提供对象

示例

web3.setProvider(new web3.providers.HttpProvider('http://localhost:8545')); // 8080 for cpp/AZ, 8545 for go/mist

web3.currentProvider

web3.currentProvider

如果已经设置了Provider,则返回当前的Provider。这个方法可以用来检查在使用mist浏览器等情况下已经设置过Provider,避免重复设置的情况.

返回值

Object - null 或 已经设置的Provider对象;

示例

// Check if mist etc. already set a provider
if(!web3.currentProvider)web3.setProvider(new web3.providers.HttpProvider("http://localhost:8545"));

web3.reset

web3.reset(keepIsSyncing)

用来重置web3的状态。重置除了manager以外的其它所有东西。卸载filter,停止状态轮询

参数

  1. flag``Boolean - 如果设置为true,将会卸载所有的filter,但会保留web3.eth.isSyncing()的状态轮询

返回值

undefined

示例

web3.reset();

web3.sha3

使用keccak-256哈希算法,计算给定字符串的哈希值

web3.sha3(string [, options])

参数

  1. String - 传入的需要使用Keccak-256 SHA3算法进行哈希运算的字符串.

  2. Object - 可选项设置。如果要解析的是hex格式的十六进制字符串。需要设置encoding为hex。因为JS中会默认忽略0x.

返回值

String - 使用Keccak-256 SHA3算法哈希过的结果.

示例

var hash = web3.sha3("Some string to be hashed");
console.log(hash); // "0xed973b234cf2238052c9ac87072c71bcf33abc1bbd721018e0cca448ef79b379"var hashOfHash = web3.sha3(hash, {encoding: 'hex'});
console.log(hashOfHash); // "0x85dd39c91a64167ba20732b228251e67caed1462d4bcf036af88dc6856d0fdcc"

web3.toHex

web3.toHex(mixed);

Converts any value into HEX.

参数

  1. val``String|Number|Object|Array|BigNumber - 需要转化为HEX的值。如果是一个对象或数组类型,将会先用JSON.stringify1进行转换成字符串。 如果传入的是BigNumber2,则将得到对应的Number的HEX.

返回值

String - The hex string of mixed.

示例

var str = web3.toHex({test: 'test'});
console.log(str); // '0x7b2274657374223a2274657374227d'

web3.toAscii

将HEX字符串转为ASCII3字符串

web3.toAscii(hexString);

参数

1.hexString String - 十六进制字符串.

返回值

String - 给定十六进制字符串对应的ASCII码值.

示例

var str = web3.toAscii("0x657468657265756d000000000000000000000000000000000000000000000000");
console.log(str); // "ethereum"

web3.fromAscii

web3.fromAscii(string [, padding]);

将任何的ASCII码字符串转为HEX字符串.

参数

  1. textString``String -ASCII码字符串.

  2. padding``Number - 返回的字符串字节大小,不够长会自动填充.

返回值

String - 转换后的HEX字符串.

示例

var str = web3.fromAscii('ethereum');
console.log(str); // "0x657468657265756d"var str2 = web3.fromAscii('ethereum', 32);
console.log(str2); // "0x657468657265756d000000000000000000000000000000000000000000000000"

web3.toDecimal

web3.toDecimal(hexString);

将一个十六进制转为一个十进制的数字.

参数

  1. hexString``String - 十六进制字符.

返回值

Number - 传入字符串所代表的十六进制值.

示例

var number = web3.toDecimal('0x15');
console.log(number); // 21

web3.fromDecimal

web3.fromDecimal(number);

将一个数字,或者字符串形式的数字转为一个十六进制串.

参数

  1. Number|String - 数字.

返回值

String - 给定数字对应的十六进制表示.

示例

var value = web3.fromDecimal('21');
console.log(value); // "0x15"

web3.fromWei

web3.fromWei(number, unit)

以太坊货币单位之间的转换。将以wei为单位的资金,转换为指定单位的数值:

  • Gwei

  • Kwei

  • Mwei/babbage/ether/femtoether

  • ether

  • finney/gether/grand/gwei

  • kether/kwei/lovelace/mether/micro

  • microether/milli/milliether

  • mwei/nano/nanoether

  • noether

  • picoether/shannon

  • szabo

  • tether

  • wei

参数

  1. number``Number|String|BigNumber - 数字或BigNumber.

  2. unitString` - 单位字符串.

返回值

String|BigNumber - Either a number string, or a BigNumber instance, depending on the given number parameter.

示例

var value = web3.fromWei('21000000000000', 'finney');
console.log(value); // "0.021"

web3.toWei

web3.toWei(number, unit)

将给定资金转换为以wei为单位的数值:

  • kwei/ada

  • mwei/babbage

  • gwei/shannon

  • szabo

  • finney

  • ether

  • kether/grand/einstein

  • mether

  • gether

  • tether

参数

  1. Number|String|BigNumber - 数字或BigNumber.

  2. String - 字符串单位.

返回值

String|BigNumber - 根据传入参数的不同,分别是字符串形式的字符串,或者是BigNumber.

示例

var value = web3.toWei('1', 'ether');
console.log(value); // "1000000000000000000"

web3.toBigNumber

web3.toBigNumber(numberOrHexString);

Converts a given number into a BigNumber instance.

See the note on BigNumber.

参数

  1. Number|String - 数字或十六进制格式的数字.

返回值

BigNumber - BigNumber的实例.

示例

var value = web3.toBigNumber('200000000000000000000001');
console.log(value); // instanceOf BigNumber
console.log(value.toNumber()); // 2.0000000000000002e+23
console.log(value.toString(10)); // '200000000000000000000001'

web3.isAddress

web3.isAddress(HexString);

检查给定的字符串是否是有效的以太坊地址.

参数

  1. String - 16进制字符串.

返回值

Boolean - 无效的地址返回false。对于全小写或全大写的有效地址字符串返回true。对于大小写混合的字符串, 该函数使用 web3.isChecksumAddress()进行检查.

示例

var isAddress = web3.isAddress("0x8888f1f195afa192cfee860698584c030f4c9db1");
console.log(isAddress); // true

以太坊:主对象 web3相关推荐

  1. 【钱包·RPC搭建】以太坊主网节点搭建

    01. 搭建节点需要什么配置 推荐配置: CPU: 8 core 内存: 16G 硬盘: 500G SSD (固态硬盘) 网络: 5M+ 最低配置: CPU: 4 core 内存: 8G 硬盘: 50 ...

  2. 以太坊源码分析(2)——以太坊APP对象

    前言 从这一节开始,我将开始以太坊代码全覆盖讲解,讲解的流程是: 以太坊程序入口 基本框架 以太坊协议 发送一笔交易后发生了什么 启动挖矿 以太坊共识 p2p 网络 阅读本系列文章,将默认读者具备一定 ...

  3. 机构借贷平台 Maple 将上线以太坊主网并开启流动性挖矿

    据官方消息,去中心化机构借贷平台 Maple Protocol 将于 5 月 14 日上线以太坊主网,主网启动后将建立上限为 1500 万美元的流动性资金池,向机构借款人提供贷款.首批流动性提供者可参 ...

  4. 以太坊主网同步问题(Looking for peers)

    Looking for peers 问题 开启以太坊主网同步后,后台一直显示 INFO [07-03|10:11:38.701] Looking for peers peercount=0 tried ...

  5. python字符串类库_Python开发以太坊的类库Web3.py V4的新功能

    Web3.py第4版的第一个测试版于2017年11月中旬发布,此后又发布了5个版本,目前已经稳定发布到4.6.主要版本变化意味着一些向后兼容的更改,以及这些更改启用的一些全新功能.感兴趣的话请继续阅读 ...

  6. 以太坊:以太坊交互对象 eth

    web3.eth 包含以太坊区块链进行交互方法 web3.eth.defaultAccount web3.eth.defaultAccount 设置在使用下述方法时使用的默认账户地址: web3.et ...

  7. python3web库_Python以太坊开发库web3.py概述

    与web3.py库交互的共同入口是web3对象.web3对象提供API,用于python开发的应用与以太坊区块链进行交互,通常是通过连接JSON-RPC服务器进行.Providers提供者 Provi ...

  8. Geth搭建以太坊主网公有节点笔记

    注意 同步节点在10M网速下大概需要同步2天300G数据 安装最简单高效就是直接用Docker下载已封装好的镜像 docker pull ethereum/client-go 在命令后台建立容器命令: ...

  9. Filecoin与以太坊结合开启Web3.0丨Filecoin是唯一可信存储

    随着科技等技术领域的进步,元宇宙的概念也是被重温,现在的科技非常发达,技术很先进,有着现代社会的科技支撑,元宇宙的概念也随着时间的推进成为现实,但是当我们考虑元宇宙的问题时,我们必须意识到这些矛盾的存 ...

最新文章

  1. R语言ggplot2绘制平滑曲线的折线图简单小例子
  2. 十分钟掌握多项式回归:非线性预测
  3. ORIG1和ORIG2的运用
  4. Markdown转html在网页上显示
  5. html把毫秒转换成年月日,JS实现获取毫秒值及转换成年月日时分秒的方法
  6. [Android 5.1] 多用户管理UserManager相关整理
  7. 计算机网络原理-计算题汇总
  8. Android改机 安卓改机软件 免root/不刷机/拒绝Xposed 实现 技术分析
  9. Stata:中介效应理论及sgmediation命令做sobel检验
  10. windows 10(64位) 本地模式安装Hadoop和Hbase
  11. 戴尔d系列服务器,戴尔科技集团推出两款全新VxRail产品
  12. 计算机内存的安装方法,电脑内存条安装教程_电脑内存条安装注意事项
  13. Alfresco/Activit 中文乱码问题的解决
  14. 单片机硬件和软件延时、RTOS相对延时和绝对延时
  15. 揭秘:微软高管为什么让测试工程师“吃狗粮”呢?
  16. 五分钟带你了解!Java程序的编译过程
  17. 华为与这三所一流大学又有新互动!
  18. linux suse11安装包,SUSE Linux 11系统rpm包离线安装GCC
  19. html5摄像头 在线演示,基于HTML5实现的超酷摄像头(HTML5 webcam)摄
  20. 拒绝的权限----创建中间层对象错误解决方法

热门文章

  1. unturned服务器无限载入,unturned进不去服务器
  2. Oracle垃圾数据清理相关问题
  3. MATLAB幂法原点平移法,幂法及其MATLAB程序.doc
  4. matlab统计发动机工况点,汽车发动机在运行的过程中有哪些工况?
  5. 2021年,掌握这13个Java核心技术栈,你也能拿30K!
  6. 爬取驾校一点通所有科目一信息
  7. 武汉计算机考试科目,武汉计算机应用能力考试调整部分科目的通知
  8. 微生物网络构建原理: SparCC, MENA, LSA, CoNet
  9. 小米 mix android 版本,小米MIX有几个版本 小米MIX标准版与尊享版区别对比 (全文)...
  10. 揭秘Serverless SSR应用监控平台