Inspiration

The reason the hub exists is because we need to run tests in a standalone environment for each amendment.

I was building multiple sdks for xrpl and realized that the integration tests were not done for new amendments being voted on. I then went into building rippled and realized that was difficult. I also noticed that if there are multiple private chains, or sidechains, then I need to be able to grab the rippled exe, the config file and deploy a node very easily.

What it does

The hub builds and deploys rippled amendments and sidechains for users to easily share their sidechain or amendment for testing. Users add their amendment/sidechain and configuration details into the amendments folder. We then add a trigger to the google cloud project. When we tag the new amendment the rippled executable is built. Then the deployable image is built using the config details and this includes an explorer. Then manually we go in and release the new version. This adds a rippled.zip to the release and instructions on how to deploy the rippled chain.

In the template also includes more detailed instructions on how to build/up/down the image for your sidechain/amendment.

How we built it

We use google cloud platform, docker and shell for this project.

Challenges we ran into

Building rippled takes time. Also GH actions for updating the release use the GITHUB_TOKEN which I don't want to expose so right now the release is manual. Sidechain python was also an issue as I wasn't able to deploy the launch kit so I couldn't setup the client frontend for transferring between sidechains.

Accomplishments that we're proud of

Building the rippled binary.

What we learned

Building rippled takes a long time. To run sidechains I needed both the main exe and the sidechain exe.

What's next for The Hub

Next we want to deploy the node using kubernetes and deploy the explorer in the same build. So on each new tag we would build the rippled exe, release it, save the zip to the release, deploy a node and an explorer. The other thing is the client front end. Which would act as the bridge between all sidechains. Uniswap + builds.

Built With

Share this project:

Updates

Submission history