Web app to deploy a smart contract for an ERC20 token airdrop with claim links.
Claiming tokens to Trust Wallet: https://www.youtube.com/watch?v=Jf2LhK91ZPA
You can try PoC app at https://volca.app/#/demo. The app supports Ethereum Main and Ropsten Test networks right now.
- Airdropper loads the website to deploy the smart contract and generate claim links.
- Airdropper distributes the links to receivers in any way (e.g. special dedicated website, which sends SMS or email after submitting phone number or email)
- Receiver follows the link, claims the tokens.
- The Server calls smart contract, which verifies signatures and that link wasn’t claimed before. If everything is correct, smart-contract call distributes tokens from airdropper’s account to receiver.
- Deploys the airdrop smart-contract
- Generates claim links (as a CSV file)
- Allows receiver to claim tokens
The deployment and interaction with the Airdrop Smart Contract and the Relayer Server is handled by the volca-airdrop-core library - https://github.com/VolcaTech/volca-airdrop-core
- Distributes tokens from Airdropper’s Ethereum Account
- Receiver gets tokens and ether after following a claim link
The Smart Contract's code can be found here - https://github.com/VolcaTech/volca-airdrop-core/blob/master/contracts/e2pAirEscrow.sol
An external server, which calls smart contract on behalf of the receiver. The external server pays for gas instead of receiver.
- On contract deployment an Ethereum account is generated by the airdropper's browser. Address (A) is stored to the smart contract and the private key is used to sign other claim private keys.
- Airdropper provides to receiver a claim private key and the signature that the claim key is signed by the address A.
- Receiver signs his Ethereum address with the claim private key and provides both signatures to the Relayer Server.
- The Relayer Server calls the smart contract, which verifies both signatures and that the claim private key wasn't used before. If everything is correct, the smart contract distributes tokens and ether to receiver's account.
If you want to deploy an airdrop:
- Open https://volca.app/#/demo
- You need Metamask connected to an Ethereum address with airdropped tokens.
- Choose parameters of the airdrop: token address (e.g. 0xaec2e87e0a235266d9c5adc9deb4b2e29b54d009 for SNGLS), tokens dropped per link, ETH per link, amount of links
- Deploy the airdrop contract with a click of a button.
- Approve the Smart Contract to send tokens on your behalf. (Button to approve will appear after the smart contract is deployed)
- Download the CSV file with links generated by the web app.
- Distribute links to receivers.