Title
ICX Contract Hub
Category
Developer Tooling, Development Utilities
Team
Public address
hx958eb3e5e9e41e53d000f684af78fd7384f2fe12
I. The Purpose. How will ICX Contract Hub bring value to ICON ecosystem ?
In short, a better developer experience.
As written in Yudus Lab’s ICON contribution proposal, our first and foremost focus is developer tooling, because I strongly believe developers are vital for any blockchain ecosystem, especially ICON as it has not attracted a lot of developers yet. ICON needs more developers, a lot.
For end-user products, we know the importance of user experience. For development, it is developer experience. In blockchain, it is even more important due to the complex nature of smart contract design, coding and testing. That is why we need the best tools for the job, to make developer’s lives easier, to save their time and help them be more productive.
Compared to other prominent projects, ICON is still lacking many developer tools. When I was working on my first SCORE contract, I quickly realized that, and I decided to build missing tools for myself. Now, I believe it is better to share with the community, to help other developers.
At the moment, it is ICX Contract Explorer, you can try the first version here https://yudus.dev/icxce
Git GitHub - yudus-labs/icx-contract-hub: A dedicated smart contract explorer for ICON developers
After a lot of thinking, I have formed a plan to make one big upgrade to it, and rebrand to ICX Contract Hub - one-stop-shop with comprehensive tooling for SCORE developers.
II. Scope and features
The current version is v0.2.0
, you can look for features details here ICX Contract Explorer v0.2.0 Updates | by Yudus Labs | Medium
And here are new features I am planning to build
Primary ones
- Transaction history viewer, categorized by external and internal TXs.
It is kinda similar to a mini tracker, with features/UI designed and well-tailored for SCORE development only. - Favorite contracts, a bookmark of contracts, to help us quickly get back to contracts being worked on.
Secondary ones
- Wallet swarm simulator, quickly create/import a bunch of wallets and imitate real world user behaviors, very convenient for testing/interacting with contracts.
- Contract stats, it helps developers quickly grasp their contract metrics like TX count and volume.
Optional ones
- Aiming for “backendless” architecture, the whole thing is a one-page application running on a browser without the need for communicating with an external API backend ( for instance, query pre-processed TX data ). It helps to reduce dependency and allow anyone to run offline easily. This could be tricky and require more research, I will try my best though.
- Migrate codebase from JavaScript to TypeScript, for better code readability as well as maintenance/contribution, the code is open source anyway. However, this is not mandatory and should be done at last if time allows.
TypeScript is still a bit new to me, if I work directly in TypeScript from the beginning, I am afraid that the deadline will be impacted if things go wrong.
III. Fund request, timeframe and execution
I need $5000 in ICX ( five thousands USD ), in 8 weeks.
There are 2 milestones, starting from the day this proposal is approved
- Milestone 1 - Week 1 to 5 ( 5 weeks in total )
First week, I will do research on the technical feasibility of the backendless approach, if it needs more work than expected or infeasible, I will temporarily go for a simple API backend architecture.
Next 4 weeks, implement primary features.
I will report at the end of 5th week.
Payout is $3000. - Milestone 2 - Week 6 to 8 ( 3 weeks in total )
Implement secondary features.
If there is still time, I am gonna try to do TypeScript migration.
I will report at the end of 8th week.
Payout is $2000.
That is just an estimation, although I will try to deliver intime, if there is any problem that leads to a delayed milestone, I will report immediately.
IV. About team
I am the only one working on this project, my day job is fullstack R&D programmer in the game industry. I am totally self-funded now, so I need to do other things for living, you know
Although I haven’t been able to devote all my time to ICON dev ( yet ), I am committed to deliver the best result within scope.
For more info about me, just visit https://duyyudus.me
I also have a professional LinkedIn profile, but due to privacy reasons, I decide not to put it here. If you need to look at it, just DM me via Telegram Telegram: Contact @duyyudus
Thank you.