web3.js 基础

web3.js是一个库集合,允许您使用HTTP、IPC或WebSocket与本地或远程以太坊节点交互。
github
readthedocs
web3.js 基础_第1张图片

一、添加web3.js

1.1 安装

npm
npm install web3
yarn
yarn add web3
In the Browser
使用预构建的dist/web3.min.js,或者使用web3.js库进行构建:

npm run build

然后在你的html文件中包含dist/web3.min.js。这将在window 对象上公开Web3
jsDelivr CDN:

<script src="https://cdn.jsdelivr.net/npm/web3@latest/dist/web3.min.js"></script>

UNPKG:

<script src="https://unpkg.com/web3@latest/dist/web3.min.js"></script>

1.2 用法

// In Node.js
const Web3 = require('web3');
const web3 = new Web3('ws://localhost:8546');
console.log(web3);
// Output
{
    eth: ... ,
    shh: ... ,
    utils: ...,
    ...
}

此外,你可以使用web3.setProvider()(例如WebsocketProvider)设置一个提供程序:

web3.setProvider('ws://localhost:8546');
// or
web3.setProvider(new Web3.providers.WebsocketProvider('ws://localhost:8546'));

好了,现在你可以使用它了:

web3.eth.getAccounts().then(console.log);

TypeScript用法

You can use web3.js as follows:

import Web3 from 'web3';
import { BlockHeader, Block } from 'web3-eth' // ex. package types
const web3 = new Web3('ws://localhost:8546');

如果你在commonjs模块中使用类型,就像在Node应用中,你只需要在你的tsconfig中启用esModuleInterop和allowsyntheticdefaulultimports来实现类型系统的兼容性:

"compilerOptions": {
    "allowSyntheticDefaultImports": true,
    "esModuleInterop": true,
    ....

二、常用对象

2.1 Web3

Web3 是web3.js库的主类

var Web3 = require('web3');

> Web3.utils
> Web3.version
> Web3.givenProvider
> Web3.providers
> Web3.modules

- Web3.modules

将返回一个包含所有主要子模块的类的对象,以便能够手动实例化它们。

你可能感兴趣的:(区块链,web3.js)