howardpen9 / jetton-implementation-in-tact

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

🚚 Jetton Implementation Template by Howard

This project is targeting to provide a template for the Jetton Implementation. It's a good start point for the developer to start the Jetton Implementation.

Usage

yarn build # To build & compile the contract
yarn test # To run test cases for the contract
yarn deploy # To deploy contract
---
yarn read # To read contract data from the blockchain
yarn d1 # (Optional) To Transfer the Jetton Token to the new account
yarn d2 # (Optional) To generate the Transfer URL to let the new account to transfer the Jetton Token to the other account

🔍 Detail can be found in package.json LOL

✨ Important knowledge points

image1.png

  • Store the Jetton content in the Cell data type.
  • Use lowercase for the name in get_jetton_data() as per TEP-74. Otherwise, major explorers won't be able to read the Jetton information correctly.
  • The max_supply parameter is optional. You can choose to use it or not. Regardless, the Explorer will only track the Total Supply in the Jetton Root Contract.
  • In Jetton, if you want to transfer your Jetton Token to someone, you need to send a message to YOUR Jetton Wallet, not to the new recipient's wallet.
  • forward_ton_amount can be set as lower as possible: Same as TelemintNFT. I don't know why, but looks like we can set (1e-9 TON) in forward_ton_amount without any error.

Reference

Community

Deployment

To deploy contract you should:

  1. Specify contract.tact that will be used as entry point of your contract
  2. Configure contract.deploy.ts according to your contract.tact to generate a deployment link. In particular, it is necessary to correctly call the Init() function from the contract.

If you renamed contract.tact to something else, you need to update tact.config.json correspondingly. For more information , see Tact Documentation

Testing

Example of contract tests are in contract.spec.ts. For more information about testing, see Tact Documentation

To add new test files to contract you should create *.spec.ts files similar to template's one and they would be automatically included in testing.

Licence

MIT

About

License:MIT License


Languages

Language:TypeScript 99.9%Language:JavaScript 0.1%