Anti-Token : The first mechanical token
This is a description of the SmartLink deflationary token in LIGO !
Introduction
The system is comprised of a deflationary "mechanical" FA12 token contract.
In order to incentivize people using the token in Smart-Contract, a fee is taken if the receiver of a transfer is a user.
Attribute | Value |
---|---|
Name | Anti token |
Decimal | 3 |
Symbol | ANTI |
Description | A Deflationary token for https://smartlink.so/ the Decentralized escrow platform for Web 3.0 |
Interface | TZIP-007 TZIP-016 |
Authors | SmartLink Dev Team |
Homepage | https://smartlink.so/ |
Icon | ipfs://QmRPwZSAUkU6nZNor1qoHu4aajPHYpMXrkyZNi8EaNWAmm |
Initial supply | 777 777 777 777.777 |
Mintable | FALSE |
Admin | tz1ic7L44bmZc9xjmLf8FbxMJPJtHPgA5csv |
Reserves | tz1djkbrkYiuWFTgd3qUiViijGUuz2wBGxQ2 |
Burn address | tz1burnburnburnburnburnburnburjAYjjX |
Prerequisites
The contract is written in cameligo flavour of https://ligolang.org/, to be able to compile the contract, you need either:
- a ligo binary,
in this case, to use the binary, you need to have set up a
LIGO
environment variable, pointing to the binary (see Makefile) - or docker
You also need to have nodejs installed, up to version 14.
Usage
Run make install
to install dependencies.
Run make
to see available commands.
Compilation of the ANTI Token
Run make compile
Deployment
There is a tezos sandbox integrated in this
repository, if you wish to use it, run make sandbox-start
.
Then, just run make deploy
to deploy the contract on the sandbox.
If you wish to deploy on other networks, you need to edit the .env
at the root of
this repository, it should have been generated when you runned make install
.
System Architecture
The ANTI Token
The ANTI token can be used as any other FA12 asset, and is not mintable. The amount of the taxe is 7% burn and 1% sent to reserve.
Finding Smart-Contract
In order to find if the receiver of the token is a contract, the ANTI token will check the 6th bytes of the internal representation of an address type.
let is_address_implicit(elt: address) : bool =
let pack_elt : bytes = Bytes.pack elt in
let is_imp : bytes = Bytes.sub 6n 1n pack_elt in
( is_imp = 0x00 )
in
About
The mechanical token is a genuine and innovative idea of Smart-Chain.