-
Notifications
You must be signed in to change notification settings - Fork 24
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
Adding support for eth chain #155
Conversation
What is a |
In polymer's terminology, a virtual chain is any non-ibc chain that can be represented as an ibc chain. |
I think we can do some refactor for this, but this is a good start for getting eth working in Starship. Lets just merge this first and get you unblocked. I can do the refactor as part of backlog. Only thing needed for this to work is to have a test case for this, so that we are atleast spining this up in as part of the tests. We would have to ignore the actual test cases to run against this. We might also have to change our testing paradigm for this to work, but we can actually make it part of the refactor itself. |
- name: config | ||
configMap: | ||
name: eth2 | ||
volumeClaimTemplates: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Any reasons to use this instead of just empty dir? Are you deploying this somewhere where you were having issues with empty dir?
We would have to change the resource request, or make this part of the config where one can specify the volume, else this template wont be able to run well locally.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am using a volume claim template to allocate disk space so the eth nodes in case of a restart or any issues won't lose any blockchain data they've accumulated/created so far. I am not a k8s expert, let me know if emptyDir
can be used in this case.
Also we plan to use starship to run polymer alpha testnet in GKE and I am not sure how emptyDir
behaves in a cloud environment.
We would have to change the resource request, or make this part of the config where one can specify the volume, else this template wont be able to run well locally.
Can you explain what is the problem with running well locally?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In cloud environment this makes sense, but not in other environments (if someone wants to spinup eth chains locally). Our goal should be, ability to run this helm chart basically in any environment. Maybe we need a redesign of sorts, so that this helm chart is better used in a cloud setting.
Oh so you are using this helm chart directly for your testnets?
name: prysm | ||
spec: | ||
serviceName: "prysm" | ||
replicas: 1 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I guess currently we are not able to support multiple nodes for eth. Lets leave a todo here to make sure we are able to make this scalable down the line.
ba3f1a4
to
8a136ef
Compare
How can I make a test case for this? When I look at the test cases, they are all tailored for a cosmos chain. So I can't really use the existing machinery and probably need to set up a new one even if it's just a stub. |
Ok, lets just go ahead with this without tests, but I would need to understand your requirements to be able to refactor this properly. I think we need a way to be able to write tests for new types of chains as well. Redesign to be able to have different kind of chains (cosmos, eth, polkadot etc), would have a set of tests that are specific to them. Usally we can just use something like |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We can go ahead with this
Eth can't be run within the current setup because there is an inherent assumption of a chain being cosmos-based. To overcome this, I introduce a concept of a virtual chain with subtypes. It might not be the perfect abstraction but that's how we've been thinking about this at Polymer. Let me know what you think of that approach.
Here is the config file I used for polymer version: