This LIP introduces a Token module to be used in the Lisk ecosystem for minting, burning, and transferring tokens. This module allows any chain in the ecosystem to handle and transfer tokens in a coherent, secure, and controlled manner. In this LIP, the tokens handled are fungible.Copyright
This LIP is licensed under the Creative Commons Zero 1.0 Universal.Motivation
The Token module is composed of a state store definition used to store tokens in the state. To modify this store, we propose two commands: a token transfer command and a cross-chain token transfer command; as well as multiple functions to be used by other modules.
Interactions between custom modules and the Token module should only happen following the specified functions. Interacting with the token store via those functions allows sidechain developers to create custom modules and custom behavior without needing to ensure and test that all rules of the Token module are followed.
With the proposed interoperability solution for the Lisk ecosystem, we anticipate that multiple chains will create and distribute custom tokens. Those tokens can be used for a wide variety of reasons which are the choice of the sidechain developer.Rationale Technical Glossary Native chain: With regards to a token, this is the chain where the token was minted. Native tokens: With regards to a chain, all tokens minted on this chain. Foreign chain: With regards to a token, all chains other than the native chain. Token Identification and Interoperability
To identify tokens in the Lisk ecosystem, we introduce token identifiers in this proposal. An identifier will...