https://github.com/violetprotocol/erc1238-token
Implementation of EIP-1238 for non-transferable tokens (fungible & non-fungible).
https://github.com/violetprotocol/erc1238-token
badge erc1238 ethereum hardhat nft non-transferable-tokens solidity token tokens
Last synced: 6 months ago
JSON representation
Implementation of EIP-1238 for non-transferable tokens (fungible & non-fungible).
- Host: GitHub
- URL: https://github.com/violetprotocol/erc1238-token
- Owner: violetprotocol
- Created: 2021-12-09T18:40:44.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2023-02-27T18:55:59.000Z (over 2 years ago)
- Last Synced: 2025-03-28T03:32:44.435Z (6 months ago)
- Topics: badge, erc1238, ethereum, hardhat, nft, non-transferable-tokens, solidity, token, tokens
- Language: TypeScript
- Homepage: https://erc1238.notion.site/
- Size: 1.41 MB
- Stars: 16
- Watchers: 6
- Forks: 3
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# [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](https://iancoleman.io/bip39/) to generate one.Then, proceed with installing dependencies:
```sh
yarn install
```### Compile
Compile the smart contracts with Hardhat:
```sh
$ yarn compile
```### TypeChain
Compile the smart contracts and generate TypeChain artifacts:
```sh
$ yarn typechain
```### Lint Solidity
Lint the Solidity code:
```sh
$ yarn lint:sol
```### Lint TypeScript
Lint the TypeScript code:
```sh
$ yarn lint:ts
```### Test
Run the Mocha tests:
```sh
$ yarn test
```### Coverage
Generate the code coverage report:
```sh
$ yarn coverage
```### Report Gas
See the gas usage per unit test and average gas per method call:
```sh
$ REPORT_GAS=true yarn test
```### Clean
Delete the smart contract artifacts, the coverage reports and the Hardhat cache:
```sh
$ yarn clean
```### Deploy
Deploy the contracts to Hardhat Network:
```sh
$ 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](https://github.com/juanfranblanco/vscode-solidity) extension. The recommended approach to set the
compiler version is to add the following fields to your VSCode user settings:```json
{
"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](https://github.com/paulrberg/solidity-template)