• Features
  • About
  • Resources
  • Community
  • Events
  • Blog
  • Jobs

Sommelier This Week - June 3rd 2021: The Road to Mainnet

Market prices are heading up and Jack Zampolin, VP product lead at Sommelier is optimistic. He says: “After the past week in the market, I’m playing Taylor Swift “Shake It Off” on repeat on my headphones.”

Go Sommelier, Go! Progress on the Road to Mainnet

Progress bringing a testing framework and feature development together is looking good, too. Jack says: “I could not be more excited. The progress that we’ve made over the last few weeks is fantastic and I’m really excited where we are right now. It’s just all coming together.”

Work on the Gravity refactor has progressed nicely. Jack explains:

“We’ve gotten past the point where we’re sort of flying blind. I think anyone who has completed a large refactor of a system that has a working state in it, there’s a long time during the refactor where you’re in a broken state and you have no way to run tests. And, especially with compiled languages like Go, you can get into a state where you don’t even compile for a while. I think we were in the non-compiling state for about two weeks, in the compiling-but-not-running state for about a week. And now this week has all been compiling, running and the tests run, which makes the development a lot more easy.

“People talk a lot about test-driven development and when you’re refactoring for systems I think it’s critical because you have these tests that tell you what proper system functioning is. So, a much easier spot in the debugging world now. And, pushing through the last remaining issues with the refactor so we have a functioning Gravity bridge.”

There’s also a little bit of work going on to wrap the command line interface that most users are going to end up using to bridge through into a cleaner environment using something called Absissa, which the inclusion team has developed. Jack says:

“This is probably the most popular Rust-based command line tooling framework. So we’re putting that into a command line tooling framework, adding better key management on that and making it configuration driven as opposed to flag driven for a much nicer CLI experience.”

The folks who have used the Cosmos CLI might be familiar with Jack’s philosophy on CLI design. He says:

“When you write out a CLI command it should sound a lot like English and it should describe what you’re doing, for example: ‘Gravity transact with the bridge, send to Ethereum.’ It’s very clear what’s going on and then the arguments are the receiver over there and how much you’re sending and then you sign and it’s done. So trying to follow the idioms we’ve established and making it a nicer user experience, and with that we’ve been doing a lot of work on testing that’s going to inform how we’re going to build out the rest of Sommelier protocol.”

Sophisticated protocols need sophisticated testing frameworks

Building something nonstandard, as Sommelier is doing, requires its own testing framework that has to continuously evolve along with the complexity being built into the program.

Jack says: “What we’ve found through this building of the Gravity bridge and debugging it is that we need to put in more effort into this testing framework. That’s because Gravity bridge is a component of Sommelier --and Sommelier has even more components -- the work that we’ve done on the Gravity bridge testing framework is going to inform what we’re building with Sommelier. That testing framework is actually going to have to evolve alongside the full production system that we’re building as well.”

Over the next two weeks to a month, there are two main thrusts of work:

Integrating the Cellar contract that we’ve been working on and getting that tested and optimizing and finishing up the Allocation module, i.e., feature development, and

Test framework development that helps validate the feature development that’s going on in parallel.

“Once we sort of meet in the middle with both of those where we have all of the features that we want working in the test harness, then we go to testnet. Boom! And, that gives us a lot more assurance when we get to testnet that we’re not going to be dragging 20-30 validators into a 5 day pain-fest where they have no idea what’s going on and there’s no system. I’ve been there, it’s no fun.

“I’ve got that outlined in an issue which I’ll share as soon as we’ve groomed that a little bit. Basically, the major pieces there are the Cellar contract, the Allocation module, and the Gravity bridge. And, the initial version of Sommelier is the combination of those three things.”

Integrational testing roadmap documentation

Documentation is a critical part of any production system so users understand how it works. There are multiple layers of documentation that we’re going to end up needing to write: for the Gravity bridge and command line tooling.

Jack explains:

“Luckily the Althea team has been working really hard to produce a lot of documentation for that and through this Bridge refactor process we’ve also produced documentation on the Bridge. The command line tooling that’s being built right now also has its own form of documentation, and I think in a way most command lines that run against APIs are basically a living form of documentation for a system. So, each of the components will have its own documentation and then the whole system running together will have very focused pieces of documentation initially that describe to users how the system works as a whole and we’ll just continue to develop that whole system documentation as we run into questions from users.”

But, Jack says his strategy on documentation has always been: “When people ask you questions, write down documentation for it so you don’t have to answer the same questions twice. But what that ends up doing is that you start with less documentation and then you build it out of response to what users want.”

On the app side

Over the next month another piece that we’re going to be integrating is the app and all of these features -- the position manager that’s coming out soon, the ability to rebalance easily, add/remove liquidity.

“As we begin to ship the rest of these features, those are the necessary features for supporting Cellars and production. So, all of this stuff is going to come together over the next month and there’s a lot of integration to be done, but the app is continuing to ship features. The key part of this protocol development and the way that we’ve architected the system development so far, and this company really, is that we can run all of these experiments independently and then bring them together into more powerful systems to help spur adoption.”

Until then...we’ll keep shake, shake, shakin’...

More articles


This website does not constitute an offer to sell or a solicitation of interest to purchase any securities in any country or jurisdiction in which such offer or solicitation is not permitted by law. Nothing on this website is meant to be construed as investment advice and we do not provide investment advisory services, nor are we regulated or permitted to do so. This website is provided for convenience only. Sommelier does not manage any portfolios. You must make an independent judgment as to whether to add liquidity to portfolios.

Users of the Sommelier website should familiarize themselves with smart contracts to further consider the risks associated with smart contracts before adding liquidity to any portfolios.

Note that the website may change, and we are under no obligation to update or advise as to these changes. There is no guarantee that the Sommelier Mainnet, including any software, products or token use cases mentioned on the website, will be built, or offered by Sommelier. In particular, actual results and developments may be materially different from any forecast, opinion or expectation expressed in this website, or documents contained in it, and the past performance of any portfolio must not be relied on as a guide to its future performance.

To the extent permitted by law, the company and its directors, officers, employees, agents exclude all liability for any loss or damage arising from the use of, or reliance on, the material contained on this website whether or not caused by a negligent act or omission. The release, publication or distribution of this website and any materials herein may be restricted in some jurisdiction and therefore you must inform yourself of and observe any such restrictions.