What I want to achieve
- Autonomi token standard, that enables issuing own token by anyone – from scratch, or by wrapping existing ERC20 tokens. It does not have to become “native” yet, since it will have much utility anyway. Based on ideas by DavidMc0, Traktion, Riddim et al.
- Rust library for token operations
- Simple GUI wallet
- Bridge smart contract to burn tokens on Arbitrum side, with option to updgrade for 2-way operation
- Simple exchange scheme for different tokens
Work will be open sourced under GPL license.
How
- Carefully read and consider community suggestions.
- Comply to standards required by MaidSafe team, and their suggestions.
- Contact @dirvine on a regular basis to get advice and insight.
- Dig into
sn_transfers
crate code to familiarize with old Native Token design, payment proofs needed for data storage payments, DAG indexing/audit, etc. - Consider extending a proposal to meet an RFC process requirements, but discuss if relying on it doesn’t make the project too dependant on MaidSafe’s infrastructure and thereby centralize it.
- Get inspired by ERC20 standard as an inspiration wherever applicable, to make the standard as familiar to newcomers as possible.
- Work will be openly coordinated by a project in
safenetforum-community
Github organization, together with the needed code repositories. - Code will be tested and documented to comply with industry standards. This could be postponed if there is a risk of being late for deadlines set by Impossible Futures program.
How long will it take
Basic working functionality (proof of concept) seems possible to be achieved by May 6, an Impossible Futures deadline, assuming weekly workload of 20 hours. If not, the priorities will be as follows:
- A token itself
- One-way ERC20 token burn smart contract and bridge
- Exchange or marketplace
The work will continue after POC deadline of Impossible Futures, on a regular basis as funds allow, regardless of a success in the program.
Costs, funding
I will work on a “pay-as-you-go” hourly basis, effectively using funds, that supporters transfered to my Arbitrum account: 0x708eEEC1126cC1Df9A7B60A890aD932360B6C46a. My rate is $35/hour, or equivalent in any token, that can be swapped to USDC on Arbitrum Uniswap.
Reporting, status
- Daily status: what I did yesterday, my plans for today, time spent, funds used/left
- Weekly: longer reports, roadmap updates
Impossible Futures
I intend to register the projet for Impossible Futures program. If I happen to win the prize, it will be divided proportionally among 20 biggest supporters, up to 150% of the support amount.
Example:
- Supporter 1 transfers $6000
- Supporter 2 transfers $1000
- I work for 150 hours (used $5250)
- I get a $15000 reward
- Supporter 1 gets $9000 (6000 * 150%) back
- Supporter 2 gets $1500 (1000 * 150%) back
- Unused reward ($4500) and support ($1750) is left for later development
Other developers, the team
Other developers are invited to take part in the project. We will share potential rewards proportionally to hours worked. Everyone is encouraged to publish Arbitrum address and hourly rate (see “Costs, funding” section) to get funded as well.
Future (beyond POC)
- Enhance Bridge for 2-way operation, allowing conversion from Autonomi to Arb/ERC20.
- Implement as Native Token
- Modify Node software to accept NT as a payment and verify NT transactions.
Risks
- It can happen, that there will be little support for the project and I won’t be able to develop this in my spare time for free as well. This can happen at the beginning, also funds can end in the middle of development.
- It’s possible, that MaidSafe team will not support the project with their insight. This could mean node software modifications won’t be allowed and it will not reach the Native Token phase.
- MaidSafe can announce they are switching the focus to (native) tokens soon as well.
Unpredicted situations
In case of disagreement, decisions can be made by votes of supporters, verified by signatures, for examples through this service.
Questions
- Should we use Dev Forum for coordination, comments etc.? Here we gain visibility and possible support, but perhaps it’s better to not flood this place with community dev content?
- Is there a need for a non-development job, or developers can handle that as well? Here I mean project management etc.
- What could be the name for this token standard? ARC01? ARC20? ARC0062? RFCxx?
Reference
Who am I
Hello. I am a freelance developer, in Safenet/Autonomi community for 9 years. I started to use Rust for a private project related to Autonomi 4 years ago. Since that time I even happened to make small contributions to Autonomi codebase (#18 on contributors list ). I also have experience in Ethereum/EVM, created a wallet, and a 2-way bridge with smart contracts.