Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Challenge: EmpowerChain Claim C1: Self-relaying #500

Open
gjermundgaraba opened this issue Mar 15, 2023 · 1 comment
Open

Challenge: EmpowerChain Claim C1: Self-relaying #500

gjermundgaraba opened this issue Mar 15, 2023 · 1 comment
Labels
challenge Claim Challenge Task

Comments

@gjermundgaraba
Copy link
Contributor

gjermundgaraba commented Mar 15, 2023

I added the ability to self-relay using my GoN CLI in two different ways:
1: By transfering directly with the CLI and a --self-relay flag
2: By using a specific command that can relay any transaction if you know source-chain, destination-chain and the original transaction hash.

The self-relaying has proved robust and very useful. It re-uses a solid amount of code from both the GoN CLI itself and the go relayer (https://github.com/cosmos/relayer). It actually requires the go-relayer to be configured first, but the CLI relays the packages itself (it does not start the rly binary or anything). Update: It is now entirely zero-config setup: https://twitter.com/GjermundGaraba/status/1639621796105207810

The documentation for setup can be found here:
https://github.com/gjermundgaraba/gon-tools/blob/main/gon-cli/self-relay.md

The self-relaying code is mainly to be found here: https://github.com/gjermundgaraba/gon-tools/tree/main/gon-cli/gorelayer

An example usage of it can be found here: https://github.com/gjermundgaraba/gon-tools/blob/main/gon-cli/cmd/root_self_relay.go

To show that this really works, I also did the race challenges with a scripted version of this and go through the whole first flow in 25 blocks. And I included some safety sleeps to make sure blocks were settled in between things. This was while most packages were stuck and the channels full of spam. Proof of this can be found in my evidence.xslx

This can easily be extended to work outside of GoN, the code can use for instance Strangelove's Lens to get most of its configuration.

The relayer has been used by a lot of individuals during GoN, and also for helping out others that got their transactions stuck using different tools.

@taramakage taramakage changed the title AWARD: EmpowerChain Claim C1: Self-relaying Challenge: EmpowerChain Claim C1: Self-relaying Mar 16, 2023
@taramakage taramakage added the challenge Claim Challenge Task label Mar 16, 2023
@gjermundgaraba
Copy link
Contributor Author

Updated with an important update: the CLI is zero-config for self-relaying now!
https://twitter.com/GjermundGaraba/status/1639621796105207810

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
challenge Claim Challenge Task
Projects
None yet
Development

No branches or pull requests

2 participants