Engineering Update (05-SEP-22)

Cody Marx Bailey
Andromeda Engineering

--

Lots to update this go-round. Our team is spread across several parts of the system we are building. The challenges of coordinating the different parts to work together is what we’re experiencing now. The good news is that we’ve been preparing for this final stage of development for a while and a lot of the decisions we made six and nine months ago are proving to be very helpful. One of the sayings that kept coming up during our huddles is making sure we didn’t make decisions that “painted ourselves into corners”.

Proper Planning Prevents Piss Poor Performance

That being said, let’s get to it…

Integrations & Embeddables

We’ve made some really good progress on the embeddable marketplace this last sprint cycle. Our UX team has been working over time to get all the designs finalized and delivered to the JS team for implementation.

The idea with our marketplace framework is that any author can implement their own marketplace on top of Andromeda without having to send folks to a centralized “OpenSea” website. Anyone can, with just a couple of lines of code, implement something like the screenshot below.

Example of the embeddable marketplace for 3rd parties to integrate into their own WordPress, SquareSpace, or Custom Application

All the wallet handling, JavaScript, bidding, categorizing, sorting, filtering, etc is done for you. At first this will look very generic, but we’re building in the hooks so you can skin and theme the embeddable. Let me give you a quick example:

Add these lines to your <head></head> section.

<link rel=”stylesheet” type=”text/css” href=”https://cdn.andromedaprotocol.io/andr-mrktplace/1.0/default.css"><script type=”text/javascript” charset=”utf8" src=”https://cdn.andromedaprotocol.io/andr-mrktplace/1.0/andr-mrktplace-min.js"></script>

Then down in the body you might do something like this:

<andr-mrktplace adoType=”nft” collectionName=”8liens” collection=”44” sort=”species,planet”></andr-mrktplace>

Command Line Interface

As we’ve mentioned before, the CLI is extremely important to the architecture of the system. We now have multi-chain support that operates in a very simple, easy to understand way. Switching between chains, deploying objects on multiple chains in one command is now possible. This is handy when you have a script that needs one object on Secret and another on Terra. You don’t have to run two commands to get it to work… like magic, it just works.

IBC Connectivity

Last sprint we established the framework in the ADOs to make calls seamlessly and now we’re starting to test out advanced functionality. There are a lot of ADOs that will work on every chain like the ones I covered last week. We’re now working on a way to be able to move those assets to other chains in-situ without having to manually destroy/replicate. We can simply issue a “move” command to the ADO and have it “portal” over.

Deployments

Not much to report here, still working towards the same chains as last time. Our testnet is up and running and we’re testing out IBC channels between the chains we plan to deploy to first. The wonderful thing about this stack is that what works on one chain, largely works on all the chains so the extra work to deploy across multiple chains is very minimal. We really like where we are.

ADO Package Management

Each ADO is wrapped in what we’re calling an ADOP or Package. We haven’t talked about this part of the project very much, but we’re confident that this framework will allow for the developer community to step in and add functionality that doesn’t exist.

The idea is that all new ADOs added to the system will be wrapped in a package. This package will function very much like an NPM package. The interfaces, characteristics, naming conventions, description, chain definitions, dependencies, etc will all be codified and issued to the DAO for community acceptance.

We decided to manage and handle the off-chain data via MongoDB, similar to how NPM functions. There’s a gap between the trusted layer on-chain and what goes on inside the centrally maintained MongoDB, but we have some clever ways to close that loop using hashes of the objects stored/delivered reconciled on the client.

We’re still working through how this system will function, but it’s coming along very nicely.

Economics

One of the core tenants of Andromeda is solving what we believe is the second half of the Open Source Movement. For too long, open source developers have been giving away their time in the name of solving problems and scratching that itch. Engineers are largely motivated to solve problems, even if it doesn’t come with a paycheck.

If we’re able to meter the usage of code, we can make sure the developers are paid back. This will likely be on a bonding curve, per ADO, so that eventually the cost goes to zero, or very very close to zero. We think there are a few different ways to do this depending on how the ADO functions.

  1. AUM — based on a % of the funds under management by the ADO.
  2. Deployment — a one time fee to deploy the ADO.
  3. Click — each time the ADO is exercised a fee is taken.
  4. Hybrid models — yet to be determined.

The other method of getting developers paid is to have the community or individuals put up a bounty for functionality to be added to the system. This puts the risk on the sponsor. The developer can simply fulfill the request and be paid. The sponsor can then implement a fee or be a good sport and let it be used by the community for free.

The DAO will have strategic influence in this process as it will be able to sponsor a lot of the early generic development.

Validators

Another huge shoutout to our amazing initial set of validators that have been supporting our cross-chain testing environment. We’ll most likely do another post in the future about the current testnet and our plans for a mainnet in the coming months. Wen mainnet?

Odds & Ends

  • Our very own Brendan Cooper and Cody Marx Bailey were invited to do a short presentation for a fun online event on Saturday, September 3rd. Here’s the direct link to the part of the broadcast where we dive in.
  • We’re gearing up for Cosmoverse in Medellin, Colombia in just a little under 3 weeks. We’re excited to meet up with the other projects and chains out there.
  • Cody will be attending the Volcano Summit in Antigua, Guatemala this week and will be speaking on broad topics surrounding blockchain and distributed technologies.
  • We’ve recently had a team member attend the Wharton School for an excellent executive education certification in the “Economics of Blockchain and Digital Assets.”
  • We continue to work with projects that want to either liquify real illiquid assets, build blockchain-based supply chain solutions quickly, use our NFT marketplace, or from a corporate stand point, act as their web3 solutions provider.

--

--

Cody Marx Bailey
Andromeda Engineering

Core Contributor to Andromeda Protocol, Co-creator of the ERC721 Standard, Founder of The Creative Space, BIL Conference and other really bad ideas.