📜  ethereum - Javascript (1)

📅  最后修改于: 2023-12-03 14:41:01.672000             🧑  作者: Mango

Ethereum - Javascript

Ethereum is a decentralized platform which allows developers to build smart contracts on top of it. These smart contracts are executable programs that automatically enforce the rules and regulations of a contract, removing the need for intermediaries.

Javascript is one of the most popular programming languages used by developers, and it can also be used with Ethereum. In this guide, we will explore how developers can use Javascript to interact with Ethereum and build decentralized applications.

Web3.js

Web3.js is a Javascript library that enables developers to interact with an Ethereum node using Javascript. It provides a simple and intuitive API that abstracts away the complexities of the underlying Ethereum network, making it easy for developers to build DApps.

Installation

To install Web3.js, you can use the npm package manager:

npm install web3
Quick Start

To get started with Web3.js, you first need to create a new instance of the Web3 class:

const Web3 = require('web3'); // Importing Web3.js library

const web3 = new Web3('http://localhost:8545'); // Creating a new instance with a URL to an Ethereum node (in this case, a local node running on port 8545)

You can then use the web3 object to interact with the Ethereum network. For example, you can get the current Ethereum block number:

web3.eth.getBlockNumber().then(console.log);
Working With Contracts

Web3.js also provides a convenient way to interact with smart contracts on the Ethereum network.

// The ABI (Application Binary Interface) is a JSON representation of the contract's interface.
const abi = [
  {
    "inputs": [],
    "name": "getMessage",
    "outputs": [
      {
        "internalType": "string",
        "name": "",
        "type": "string"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "string",
        "name": "_message",
        "type": "string"
      }
    ],
    "name": "setMessage",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  }
]; 

// The address of the contract on the Ethereum network. 
const contractAddress = '0x123456...';

// Creating a new contract instance
const contract = new web3.eth.Contract(abi, contractAddress);

// Getting the message from the contract
contract.methods.getMessage().call().then(console.log);

// Setting the message on the contract
contract.methods.setMessage('Hello, World!').send().then(console.log);
Conclusion

In this guide, we have provided an introduction to using Javascript with Ethereum. With Web3.js, developers can easily interact with the Ethereum network and build decentralized applications.

Markdown 返回代码片段见上述内容。