threefoldtech / home

Starting point for the threefoldtech organization
https://threefold.io
Apache License 2.0
9 stars 4 forks source link

Threebot deployer #1428

Closed DylanVerstraete closed 8 months ago

DylanVerstraete commented 1 year ago

We want to have a deployer app that can deploy a web3 proxy (threebot) for a user.

Components:

Key management

The threebot will be controlled with an ethereum wallet, in this case it will be Metamask extension. Authentication to the threebot will be controlled with this metamask wallet. When the Threebot is created, the public key a wallet in metamask will be passed for future verficiation. When a user want's to interact with the Threebot (Modify state) he needs to sign a random message that is generated on the server authenticate(message, signature) and sent this back to the server.

Additional keys

Both keys will be generated before the Threebot is created. The tfchain key will be used to create the threebot deployment. We need the following flow before we can deploy a Threebot:

When this flow is completed, the deployer can use the tfchain to deploy the Threebot. Once deployed, the user will have 1 hour to fund the tfchain address with additional tokens until his contract is put into grace state (automically done by the billing)

Deployment variables to deploy a Threebot:

To do:

DylanVerstraete commented 1 year ago

tfchain activation script: https://gist.github.com/DylanVerstraete/8b1a4439721ab078e722fb09abc3e8a1

Mahmoud-Emad commented 1 year ago

The Threebot-Deployer implemented in https://github.com/threefoldtech/threebot-deployer

xmonader commented 1 year ago

The story is pending on the flist, right now the website uses an ubuntu flist.

xmonader commented 1 year ago

i'll move that to web_proxy project