以太坊智能合约课03-web3.js 基础


开发以太坊区块链应用程序涉及到以下部分:

智能合约开发  使用solidity语言编写代码部署到区块链
网站或客户端开发  与区块链中的智能合约进行交互读写数据
在进行网站或客户端开发时就需要用到web3.jsweb3.js库是一个javascript库可以让你执行很多与区块链进行交互的任务例如

以太币转账
读写智能合约中的数据
创建智能合约


https://blog.csdn.net/chinus_yan/article/details/127539873

https://blog.51cto.com/u_14398214/5065344

https://blog.51cto.com/u_14398214/5065344

https://www.npmjs.com/package/web3

https://docs.infura.io/getting-started?_ga=2.140417713.327637145.1694770321-939484350.1694770321


npm install web3

web3.js是一个库集合允许您使用HTTPIPC或WebSocket与本地或远程以太坊节点交互
Web3.js是一个JavaScript API库要使DApp在以太坊上运行我们可以使用web3.js库提供的web3对象
Web3.js通过RPC调用与本地节点通信它可以用于任何暴露了RPC层的以太坊节点
web3包含了eth对象-web3.eth专门与以太坊区块链交互和shh对象-web3.shh用于与Whisper交互Whisper是以太坊生态一部分用于消息传递

连接以太坊节点
要访问以太坊网络需要连接到Ethereum节点

有几种方法可以做到这一点可以使用Geth或Parity运行自己的Ethereum节点但这需要从区块链下载大量数据并保持同步很麻烦

比较方便的方法是使用Infura访问Ethereum节点Infura是一个免费提供Ethereum节点的服务

在Infura上注册账号https://app.infura.io/,创建项目,在项目详情页上可以查看API KEY:使用API KEY,就可以访问以太坊网络节点。


const { Web3 } = require("web3");
const web3 = new Web3(
  new Web3.providers.HttpProvider(
    "https://mainnet.infura.io/v3/1e61012658114abe821130e25a4a8429",
  ),
);
const balanceOfABI = [
  {
    constant: true,
    inputs: [
      {
        name: "_owner",
        type: "address",
      },
    ],
    name: "balanceOf",
    outputs: [
      {
        name: "balance",
        type: "uint256",
      },
    ],
    payable: false,
    stateMutability: "view",
    type: "function",
  },
];

// DAI token contract
const tokenContract = "0x6B175474E89094C44Da98b954EedeAC495271d0F";
// A DAI token holder
const tokenHolder = "0x075e72a5eDf65F0A5f44699c7654C1a76941Ddc8";
const contract = new web3.eth.Contract(balanceOfABI, tokenContract);

async function getTokenBalance() {
  const result = await contract.methods.balanceOf(tokenHolder).call();
  const formattedResult = web3.utils.fromWei(result, "ether");
  console.log(formattedResult);
}

getTokenBalance();



npm init -f //此处的-f会自动给你配好配置文件

npm install web3@^4.1.1

node app.js



https://www.python100.com/html/48120.html

15 天入门 Web3请收好这份从 0  1 学习指南
https://web3caff.com/zh/archives/25607




Loading Disqus comments...
Table of Contents