keybase.us Custodian smart contracts and Sending money to anyone
Greetings Everyone
I am developing three projects which are very similar in their mechanics but require different implementation for each of them. Because they are different products for different use cases.
Starting with:
Keybase.us
Keybase.us will be a website for users to send/transfer Ethereum native tokens or other Erc20 tokens through social media platforms, Like Twitter for e.g.
Deployed Instance On Kovan (19 days ago from today)
https://kovan.etherscan.io/address/0x7fb9490bbA3D9cc2856Bd533FCAcbdBF7c19fB03#writeContract
How It Works
- Users send their cryptocurrency (ETH tokens) to the smart contract with a Twitter username who they want to send currency.
Here 1 ether to username genievot
It will get a contract the author id of that username(We can’t rely on username, It can be changed) and save the value belonging to the receiver safely.
- Now user get a notification to collect his funds(Thorugh many ways, It can be my Twitter page referring username to notify it, etc.)
- Now the user comes to the smart contract(A very new user) and first he has to validate himself that he is indeed the owner of what Twitter account.
- Post your Ethereum wallet address from where you do transactions and where you receive your funds and copy its Tweet ID
Now it will save the address, Due to the current limitation of Chainlink I can only send one value of the limited length
- Now one more call from the same address that you posted on twitter to fetch the author id of your account.
- Once done you are ready to withdraw
It might sound a lot but with a front end, it will be a 1 or 2 step process. But will cost you some LINK tokens (or extra ETH for On chain swap for Link) For which I have found a better solution and implementing this with it.
- To check how many Ethereum I have available withdraw, Just check what is your author id with 1st function by moving to the Read Section of Etherscan for this contract.
- Now Withdraw your funds, When you click withdraw it will transfer you all the funds you have currently in this contract, in my scenario it was 1 ETH, The input here is not required actually, It can be 0, That’s just a payable function.
And that’s how you can send money to any Twitter user.
Thank you for taking the time to read it. If you like this project to be developed fully, You can support the grant here. https://gitcoin.co/grants/1506/keybaseus-send-ethereum-to-anyone-with-social-medi