What is web3-core?
The web3-core package is a core module of the Web3.js library, which is used to interact with the Ethereum blockchain. It provides essential functionalities such as managing accounts, sending transactions, and interacting with smart contracts.
What are web3-core's main functionalities?
Managing Accounts
This feature allows you to create and manage Ethereum accounts. The code sample demonstrates how to create a new Ethereum account using the web3-core package.
const Web3 = require('web3');
const web3 = new Web3('https://mainnet.infura.io/v3/YOUR_INFURA_PROJECT_ID');
// Create a new account
const account = web3.eth.accounts.create();
console.log(account);
Sending Transactions
This feature allows you to send transactions on the Ethereum network. The code sample demonstrates how to sign and send a transaction using the web3-core package.
const Web3 = require('web3');
const web3 = new Web3('https://mainnet.infura.io/v3/YOUR_INFURA_PROJECT_ID');
const transaction = {
to: '0xRecipientAddress',
value: web3.utils.toWei('0.1', 'ether'),
gas: 2000000
};
web3.eth.accounts.signTransaction(transaction, 'YOUR_PRIVATE_KEY').then(signedTx => {
web3.eth.sendSignedTransaction(signedTx.rawTransaction).on('receipt', console.log);
});
Interacting with Smart Contracts
This feature allows you to interact with smart contracts deployed on the Ethereum network. The code sample demonstrates how to call a method on a smart contract using the web3-core package.
const Web3 = require('web3');
const web3 = new Web3('https://mainnet.infura.io/v3/YOUR_INFURA_PROJECT_ID');
const contractABI = [/* ABI array */];
const contractAddress = '0xContractAddress';
const contract = new web3.eth.Contract(contractABI, contractAddress);
contract.methods.myMethod().call().then(console.log);
Other packages similar to web3-core
ethers
The ethers.js library is a complete and compact library for interacting with the Ethereum blockchain and its ecosystem. It provides similar functionalities to web3-core, such as managing accounts, sending transactions, and interacting with smart contracts. Ethers.js is known for its simplicity and ease of use.
truffle-contract
Truffle Contract is a library that provides a better abstraction for interacting with Ethereum smart contracts. It is part of the Truffle Suite and offers a higher-level API compared to web3-core, making it easier to work with smart contracts. It integrates seamlessly with the Truffle framework for development and testing.
web3-core
This is a sub-package of web3.js.
The core package contains core functions for web3.js packages.
Please read the documentation for more.
Installation
Node.js
npm install web3-core
Usage
const core = require('web3-core');
const CoolLib = function CoolLib() {
core.packageInit(this, arguments);
};
CoolLib.providers;
CoolLib.givenProvider;
CoolLib.setProvider();
CoolLib.BatchRequest();
CoolLib.extend();
...
Types
All the TypeScript typings are placed in the types
folder.