Hi Phroi, I didn’t realise you had that thread on the Nervos Discord, I’ll keep an eye on that now.
But anyway, I just wanted to see if you can give us a general update on things are progressing with iCKB and I know timeframes are really hard to give, so I won’t hold you to anything , but do you have approximate time when you are hoping to have it on mainnet?
We are pretty close actually, two weeks ago I deployed a prototype on testnet, while mainnet deployment could be just two / three months away. Bot is at a MVP level, but I still have to polish a bit some inner workings and create its interface. While the iCKB DApp has the components in place to interact with iCKB protocol, but the website itself has still to be designed completely. I have a few interesting ideas on that tho.
A possible delay may come from integrating with CoBuild protocol as just recently it was brought to my attention and I may have to change a few things all around to start supporting it. Then again it’s a step in the right direction to improve Nervos L1 interoperability, so it makes sense to delay a bit for it.
Let me know if you have any other iCKB related question!
Congrats on on all the progress that you’ve made. Been following things as best as I can on discord. I think I’ve seen you mention some use cases like ISPOs or even throwing around the idea that maybe ickb could power a chain like Godwoken. What do you see currently as the most impactful use cases. What can we do as a community to help advance any of those ideas forward?
What do you see currently as the most impactful use cases?
Glad you ask!! A few things changed since the inception of iCKB. Let’s get an updated overview:
ISPO is a really nice model, but currently Nervos has already a Community Fund. So I’d say the need has already been addressed. Developing an ISPO now may provide different paths & rules for accessing funding.
Switching from pCKB to iCKB would give free interests to any CKB holder on Godwoken, then again feels like Godwoken never really found its use case.
In the short term the most impactful iCKB result will be that more users will feel comfortable in stacking into NervosDAO by using iCKB. So we’ll see more and more CKB locked into NervosDAO, which is an achievement in itself.
In the long term we’ll see more and more decentralized finance protocols integrating iCKB. So users will be able to enjoy the interests payed out by both these protocols and NervosDAO.
What can we do as a community to help advance any of those ideas forward?
Letting your friends know your passion for Nervos, iCKB and future DApps, enjoy the ride together!!
As for iCKB Logic, since I have to modify the contract anyway for making it OTX ready, I’m evaluating to switch from sUDT to xUDT.
Switching to xUDT would drop the requirement of a owner lock cell and just depend on owner type cell aka receipt at iCKB minting time. More importantly this would allow to split the receipt logic in two pieces: deposit receipts and withdrawal request receipt.
All these changes to the L1 scripts don’t really change much for my typescript code. The real issue is how CoBuild OTX support will affect it, which I’m still evaluating.
TLDR: I updated the L1 LO script to dual ratio orders and fully updated the typescript Utilities for interacting with all iCKB Scripts, so that’s completed!
While implementing the Limit Order utils, I realized that the transition to the LO final state (Fulfilled) was difficult to enforce and it was causing issues. At the same time I realized that there are use cases where an advanced user may want to specify two different exchange ratio: one for CKB to UDT and one for UDT to CKB. These dual ratio orders can be referred as liquidity provider orders.
Shortly, liquidity provider orders have two practical use cases:
Express the change cells of the bot. This way even when the bot is not active his capital is available for others and so it can gain fees. A win-win situation.
In the future implementation of dCKB Rescuer we’ll likely need a low effort way to provide capital. Liquidity provider orders make this easy.
For the web interface, I chose a stack that seems best for the long term maintainability:
For a long time I noticed something was wrong with withdrawals on bot testnet as they were taking too long, but everything was fine on devnet and I had not a single hard error of this issue. A few days ago my interface deposit withdrawal requests got slapped with a hard validation error (AmountMismatch on iCKB Script) and I had no idea what was happening as on devnet everything worked smoothly. Only after downloading and forking testnet locally I was able to understand the underlying issue.
I updated the iCKB script with the stricter script and redeployed it. I also updated all iCKB related libraries to the latest version. Feel free to update bot and tester.
With that out of the way, the DApp is functionally complete. Now it’ll take a bit more work to just add the logo (as ideated by Ahrom) in the homepage, add a bit more information and explanation about what’s going on.
Since the interface is 100% static and it can be hosted on any static webserver, I’m thinking about working in public for this very last phase. So that anyone can try it out and give feedback.
Right now I’m thinking about hosting it on Gihub Pages while still in testing phase on testnet. If anybody has a better hosting suggestion, feel free to let me know!!
Thanks for all the efforts you have poured into this so far! Seeing this in practice makes it way easier to understand.
You will always get less ickb than what you exchanged. That’s because the lifetime earnings of the dao are baked into the ickb you receive correct? Looks like around 13%.
Is there a wait to exchange ickb back to CKB?
Thanks again, can’t wait for the AMA.
Your support @Digitaldoyle means a lot to me, thank you!!
Actually this very feedback is crucial, very appreciated!! Please, let me reply to you by updating the DApp. Once I feel that the DApp should be able to answer your question, I’ll let you know!
It does thanks. Saw the ckb <> ickb conversion amounts yesterday, the description around order, number of withdrawal requests and the network fees is a nice addition as well!
In these years @janx and the core team helped iCKB in a lot of different ways. Additionally, in these days some of his team members are conducting an internal audit on iCKB Scripts. We are happy to report that (so far) not a single vulnerability has been discovered!
That said, they are providing us quite a few suggestions on how to improve the code and we are really grateful to them. They are happy to help iCKB by providing extra eyes to make some bugs shallow. That said, we cannot possibly ask them to take responsibility for any undiscovered bug.
That’s why an internal audit is never gonna be enough. Especially since the contracts are (likely) not gonna be deployed in upgradable manner. That’s why we want to run a Community DAO proposal for funding a formal external audit, possibly with TrailOfBits.
This is the first time we really need your help. As of now we are asking your vocal support of iCKB!
Support the coming Community DAO proposal for the iCKB Audit!!