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.
- taqueria is used for the contracts stack
- PHP8 is used for the dApp
- docker for infra (MySQL, adminer, flextesa..)
- 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
- Deploy contracts:
make deploy
- Start app:
make start
Then, you'll have :
- adminer available at http://localhost:7000
- local sandbox at http://localhost:20000
- tzkt api at http://localhost:5000
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.
The Dapp will check for the address existence in the Identifier.
- 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