ERC1238-token
ERC1238-token copied to clipboard
Implementation of EIP-1238 for non-transferable tokens (fungible & non-fungible).
[ERC1238] Non-transferable Tokens (NTTs/badges)
Overview
This repository contains work-in-progress implementation proposal(s) for Non-transferable Tokens (see https://github.com/ethereum/EIPs/issues/1238).
Documentation available here: https://erc1238.notion.site/
Usage
Pre Requisites
Before running any command, you need to create a .env file and set a BIP-39 compatible mnemonic as an environment
variable. Follow the example in .env.example. If you don't already have a mnemonic, use this website to generate one.
Then, proceed with installing dependencies:
yarn install
Compile
Compile the smart contracts with Hardhat:
$ yarn compile
TypeChain
Compile the smart contracts and generate TypeChain artifacts:
$ yarn typechain
Lint Solidity
Lint the Solidity code:
$ yarn lint:sol
Lint TypeScript
Lint the TypeScript code:
$ yarn lint:ts
Test
Run the Mocha tests:
$ yarn test
Coverage
Generate the code coverage report:
$ yarn coverage
Report Gas
See the gas usage per unit test and average gas per method call:
$ REPORT_GAS=true yarn test
Clean
Delete the smart contract artifacts, the coverage reports and the Hardhat cache:
$ yarn clean
Deploy
Deploy the contracts to Hardhat Network:
$ yarn deploy --greeting "Bonjour, le monde!"
Syntax Highlighting
If you use VSCode, you can enjoy syntax highlighting for your Solidity code via the vscode-solidity extension. The recommended approach to set the compiler version is to add the following fields to your VSCode user settings:
{
"solidity.compileUsingRemoteVersion": "v0.8.4+commit.c7e474f2",
"solidity.defaultCompiler": "remote"
}
Where of course v0.8.4+commit.c7e474f2 can be replaced with any other version.
Credits
- Setup used: Solidity-template