Skip to main content

Token development

This page is intended for token issuers who wish to create a new ERC-20 contract on Lisk. It includes an explanation of ERCs, a summary of the most important token standards, and examples of how to deploy these tokens on Lisk. In case you already have a token deployed on the Ethereum network, and wish to bridge it to Lisk, please refer to the guide Bridging an L1 token to Lisk.

ERC token standards

A standard interface allows any tokens on Ethereum to be re-used by other applications: from wallets to decentralized exchanges. ERCs(Ethereum Request for Comments) are a set of application-level standards and conventions, including contract standards such as token standards (ERC-20), name registries (ERC-137), URI schemes, library/package formats, and wallet formats for the Ethereum blockchain.

Following the most popular ERC token standards when creating a new token has several benefits:

  • Increased security: Let your contract inherit from heavily audited and reviewed implementations of the standard, mitigating the possibility of bugs greatly.
  • High application compatibility: Most applications only support the most popular ERC token standards. By following these standards, you ensure your token will be compatible with most external applications like wallets or decentralized exchanges.
  • Great documentation: Benefit from the vast number of tutorials and guides that are available to develop ERC-compliant tokens.

ERCs are a subcategory of EIPs(Ethereum Improvement Proposals). New EIPs are added following the process outlined in EIP-1.

Here's the full list of ERC proposals.

A summary of some interesting ERC token standards can be found below.

  • ERC-20: the most widespread token standard for fungible tokens, albeit somewhat limited by its simplicity.
  • ERC-721: the most popular token standard for non-fungible tokens, often used for collectibles and games.
  • ERC-1155: a standard for multi-tokens, allowing for a single contract to represent multiple fungible and non-fungible tokens, along with batched operations for increased gas efficiency.

ERC-20

The most widespread token standard for fungible tokens. Any token is exactly equal to any other token; no tokens have special rights or behavior associated with them. This makes ERC-20 tokens useful for things like a medium of exchange currency, voting rights, staking, and more.

Guides

How to deploy a new ERC-20 token on Lisk

Further reading

ERC-721

ERC-721 is a standard for representing ownership of non-fungible tokens. Non-fungible tokens(NFTs) are used to represent unique objects like real estate or collectibles, where some items are valued more than others due to their usefulness, rarity, or other individual characteristics.

To represent these unique features onchain, the ERC-721 includes metadata properties that offer information about the token's specific features, such as the title, the creator, and an image preview.

Guides

How to deploy a new ERC-721 token on Lisk

Further reading

ERC-1155

The ERC-1155 is a standard interface for contracts that manage multiple token types. The distinctive feature of ERC-1155 is that it uses a single smart contract to represent multiple tokens at once. A single deployed contract may include any combination of fungible tokens, non-fungible tokens or other configurations (e.g. semi-fungible tokens).

This is why its balanceOf function differs from ERC-20’s: it has an additional id argument for the identifier of the token that you want to query the balance of. ERC-1155 accounts have a distinct balance for each token id; non-fungible tokens are implemented by simply minting a single one of them.

This approach leads to massive gas savings for projects that require multiple tokens. Instead of deploying a new contract for each token type, a single ERC-1155 token contract can hold the entire system state, reducing deployment costs and complexity.

Guides

How to deploy a new ERC-1155 token on Lisk

warning

Please note that there is currently less ecosystem support for ERC-1155 as compared with ERC-20 or ERC-721.

Further reading