Welcome to the Massa Standard Definition project!
This project aims to establish a common set of standards for the Massa blockchain ecosystem. The standards defined here will help to promote interoperability and ease of use for Massa-based applications and services.
If you're interested in learning more about Massa and its capabilities, check out the following resources:
- Massa website: This is the official website for the Massa blockchain. Here, you can learn more about Massa's features and use cases, as well as explore the Massa ecosystem and community.
- Massa documentation: This is the official documentation for Massa. Here, you can find detailed guides and tutorials for developing on the Massa blockchain, as well as API reference documentation for the Massa SDK and other tools.
The Fungible Token standard implementation defines a common set of rules for creating and managing Massa-based tokens that are fungible (i.e. interchangeable).
This is MassaLabs implementation of the ERC20.
The Non-Fungible Token standard implementation defines a common set of rules for creating and managing Massa-based tokens that are non-fungible (i.e. unique).
This is MassaLabs implementation of the ERC721.
The Massa Domain Name Service standard defines a common set of rules for creating and managing Massa-based domain names.
This is MassaLabs implementation of the ENS.
The MRC1155 standard defines a common set of rules for creating and managing Massa-based tokens that can represent multiple types of assets, both fungible and non-fungible, within a single contract.
This is MassaLabs implementation of the ERC1155.
The Deployer smart contract automates the deployment of multiple smart contracts in a single operation. It retrieves the necessary information (bytecode, constructor arguments, and coins) from the operation datastore, deploys the contracts, and calls their constructor functions if available.
This utility simplifies the process of deploying and initializing multiple smart contracts in a single transaction and allow to call a constructor function in the deployed contract(s).
For more details, refer to the Deployer Documentation.
The Ownable standard implementation defines a common set of rules for ownership management of Massa-based contracts. It provides basic authorization control functions, simplifying the implementation of user permissions.
This is MassaLabs implementation of the Ownable pattern.
The Role-Based Access Control standard implementation defines a common set of rules for managing permissions using roles. It allows for the assignment of specific permissions to different roles, which can then be granted to users or other entities.
This is MassaLabs implementation of the RBAC pattern.
The Multicall contract enables batching multiple smart contract calls into a single operation. It reads a list of calls from the operation datastore, executes them sequentially, and returns the results as a serialized array. It can be used to batch readonly calls, write calls or both.
Important:
The multicall contract is designed to be used in an ExecuteSC
context. It is not intended to be deployed as a persistent contract on-chain. Instead, it should be executed directly via an ExecuteSC
operation, where the calls and their parameters are provided through the operation datastore.
This utility is useful for reducing the number of transactions and for atomic execution of multiple contract calls within a single operation.
Important: Due to current node limitation, multicall read cannot be achieved because the returnet data of main function is ignored see: massalabs/massa#4913
The Massa Units standard defines a set of common units of measurement for use on the Massa blockchain.
These units include:
- Massa coin
- Gas
- Rolls
The DApps <> Wallet Provider Communication standard defines a common interface for communication between Massa-based decentralized applications (DApps) and wallet providers.
This standard aims to simplify the process of integrating Massa-based DApps with various wallet providers, making it easier for end-users to access and use these applications.
To contribute to the Massa Standard Definition project, please refer to the document contributing.
This project is licensed under the MIT license. For more information, please refer to the LICENSE file.