Complete airdrop solution for Tezos tokens.
The chosen solution uses merkle trees. The advantages are of 2 kinds:
- It is cheap because fees will be paid by the claimers.
- It brings engagement, requiring some action from the claimers.
Status is experimental / side-project.
If you are looking for real airdrops, take a look at organicgrowth.wtf (on etherlink)
An airdrop project consists in off-chain and on-chain data:
- on-chain, there is a smart-contract that holds projects information, e.g: the token contract address, the hex of a merkle root of beneficiaries (address, amount), and the registry of already claimed beneficiaries entries.
- off-chain, the merkle tree must be stored to be able to generate the merkle proofs required to claim. An off-chain app also is helping on the merkle tree generation and validation before deploying the airdrop contract.
- octez-client must be installed and configured with local sandbox, see https://octez.tezos.com/docs/introduction/howtoget.html
(run
octez-client --endpoint http://localhost:20000 config update
) - You need eli and ami installed (see https://github.com/tez-capital/tea?tab=readme-ov-file#tea)
- PHP8 is used for the dApp (no front build at this time)
- docker or podman for local infra (tezos sandbox)
- it is still the king of cheap hosting.
- it has great retro-compatibilty
- it is evolving, there is a PHP fundation now, and everything is discussed openly.
- it still runs an important part of the web, and we want to make decentralized apps, so why not using a popular language for this.
- Install dependencies:
make install
- Launch infra:
make up
(Stop it:make down
) - Compile contracts:
make compile
- Generate test data:
make testdata
- Compile storage:
make compile-storage
- Deploy contracts:
make deploy
- Reset App data:
make data-reset
Use flextesa's bob or alice for dev purpose, you can also add choosen deterministic keys in the testdata script.
Otherwise, you can add your address in same script.
- Evolution of Airdrop: from Common Spam to the Merkle Tree
- Merkle Airdrop: One of the best Airdrop Solution for Token Issues
- Merkle tree
- Merkle proofs Explained
- The Ultimate Merkle Tree Guide in Solidity
- https://github.com/steve-ng/merkle-airdrop
- https://tezostaquito.io/docs/signing#signing-michelson-data