JBP new release to improve user experience
While there has been a lot of ongoing activities in our development, a high priority of ours was to migrate the Jur Beta Platform to use Connex in place of Web3.
This decision was taken to ensure the future development of our dApp and to make sure that we get the most out of the VeChainThor blockchain. Having a native, direct and well-supported channel to communicate with the blockchain is an important element for us as interactions on the Open Layer require users to be updated almost in real time.
Most importantly, by using Connex, anyone can now access the platform by just downloading the Sync browser and using our dApp natively (without any third party plugin installation as it was the case before). Download the Sync browser, hit the URL beta.jur.io and you are all set to enter the decentralized world.
Migrating the whole dApp took us a bit of time as the team was hands on with several other things but I am happy to announce that finally v.0.9.3 is out and you can use the Jur Beta Platform through the Sync browser.
Moving forward the team will concentrate on the next steps of the roadmap, namely the “Court Layer” but we will keep expanding and experimenting with our dApp, always with a vision in mind of bringing the concept of microjustice to reality. We strongly believe that a decentralized ODR is a good approach to solve micro claims that are otherwise almost impossible to tackle with traditional solutions.
I am leaving the word to our technical lead, Marco so that he can explain to you more in depth what this new release has meant.
Migrating JBP from Web3 to Connex
The previous technology stack for the Jur Beta Platform (and more specifically the Open Layer) was made using a combination of: Drizzle, Truffle Contracts, Web3 encapsulated with Thorify to allow the Comet Wallet to sign. As you can guess, a quite complex stack to maintain.
After the migration to Connex we only deal with one single dependency at a low level to interact with VeChainThor,. This is quite cool but here comes the difficult part, we had to rebuild from scratch any smart contract interactions on our dApp.
The “biggest” challenge in completing this migration was related to changing the entire paradigm related to the dApp event listening, the foundation of the entire application.
We’ve been able to do this with less friction thanks to the proper analysis done at the beginning of the dApp development, which basically ensured a proper separation of concerns in any single component of the dApp. This is so helpful in such a “real time” changing technology like blockchain and it is important that anyone building a dApp keeps this in mind as the complexity of their project grows
As always, choose wisely the right tools, dependencies and constraints for development, as that can make your life easier even more than you expect.
- ConnexJS connection implemented into the dApp. It is now the only future proof available method to connect to VeChainThor in order to read and write smart contracts;
- Comet and Web3 (still on version 1.0.0beta37) are now deprecated and will no longer be usable to access the platform.
- Users need a browser supporting ConnexJS like the official Sync Browser developed directly by VeChain (Github).
- Created a transaction/event listener that will react on each event emitted by smart contracts with proper actions to complete every operation correctly that involves every user involved in the contract or dispute.