web3-eth-contract
TypeScript icon, indicating that this package has built-in type declarations

4.3.0 • Public • Published

web3.js

web3.js - Eth Contract Package

ES Version Node Version NPM Package Downloads

This is a sub-package of web3.js.

web3-eth-contract contains the contract package used in web3-eth.

Installation

You can install the package either using NPM or using Yarn

Using NPM

npm install web3-eth-contract

Using Yarn

yarn add web3-eth-contract

Getting Started

Prerequisites

Usage

You can initialize the typesafe Contract API instance with the following.

import { Contract } from 'web3-eth-contract';

const abi = [...] as const;

const contract = new Contract(abi);
  • We prefer that you use web3.eth.Contract API in normal usage.
  • The use of as const is necessary to have fully type-safe interface for the contract.
  • As the ABIs are not extensive in size, we suggest declaring them as const in your TS project.
  • This approach is more flexible and seamless compared to other approaches of off-line compiling ABIs to TS interfaces (such as TypeChain.

Compatibility

We have tested the TypeScript interface support for the ABIs compiled with solidity version v0.4.x and above. If you face any issue regarding the contract typing, please create an issue to report to us.

The TypeScript support for fixed length array types are supported up 30 elements. See more details here. This limitation is only to provide more performant developer experience in IDEs. In future we may come up with a workaround to avoid this limitation. If you have any idea feel free to share.

Package.json Scripts

Script Description
clean Uses rimraf to remove dist/
build Uses tsc to build package and dependent packages
lint Uses eslint to lint package
lint:fix Uses eslint to check and fix any warnings
format Uses prettier to format the code
test Uses jest to run unit tests
test:integration Uses jest to run tests under /test/integration
test:unit Uses jest to run tests under /test/unit

Readme

Keywords

none

Package Sidebar

Install

npm i web3-eth-contract

Weekly Downloads

399,957

Version

4.3.0

License

LGPL-3.0

Unpacked Size

368 kB

Total Files

61

Last publish

Collaborators

  • luu-alex
  • mpetrunic
  • jdevcs
  • gregthegreek