-
Notifications
You must be signed in to change notification settings - Fork 0
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
Modifications to make work with gossamer node #1
base: main
Are you sure you want to change the base?
Conversation
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 don't think the added files in chain
and examples
should be included in this PR.
|
||
// args.push("--no-mdns"); |
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.
why is this commented out?
if (prometheus && !args.includes("--prometheus-external")) | ||
args.push("--prometheus-external"); | ||
|
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.
is this because gossamer doesn't support this?
]; | ||
let portFlags | ||
let finalArgs: string[] | ||
if (command.includes("gossamer")) { |
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 feel like this is all unnecessary if we just support the substrate flags. The command
can be modified to run our binary easily.
This contains changes that enable zombienet to work with gossamer nodes, note these changes break zombienet so that it will not work with polkadot nodes.
Zombienet uses CLI flags to start the target node, since gossamer has different CLI arguments that polkadot, it is necessary to change these to make it work with gossamer. (Note, this is just for research, there are many different ways that we can make these work together, this is done to determine what the differences are.)
cmdGenerater.ts
are where the zombienet code has been changed to work with gossamer nodes.chain
folder was added for testing, this contains chain spec files for testing with gossamer.examples/0001-westend-local-network.toml
to spawn a local network using the westend chain spec.default_command
parameter points to a local instance of gossamer, this would normally be justgossamer
assuminggossamer
is in your path, but I've pointed to my development path for gossamer since I've been updating gossamer as I've been testing.--config
flag in args attribute should not be necessary since zombienet normally starts nodes using CLI arguments and not a config file, but there seems to be a bug in gossamer where some config attributes from config file are necessary to start a node in role 4 (grandpa authority).--node-key
to define the libp2p key used to setup networking, the current gossamer node does not have this flag, using gossamer node from branched/sombienet_testing
has this CLI argument. https://github.com/ChainSafe/gossamer/tree/ed/zombienet_testingYou can start the westend local test network with 3 nodes using the following command:
node javascript/packages/cli/dist/cli.js spawn --provider native examples/0001-westend-local-network.toml
To start with debugging logs use:
DEBUG=zombie* node javascript/packages/cli/dist/cli.js spawn --provider native examples/0001-westend-local-network.toml
To start testing nodes using test file
example/0001-westend-local-network.zndsl
(Note most if these tests fail, but the testing framework is working),DEBUG=zombie* node javascript/packages/cli/dist/cli.js test --provider native examples/0001-westend-local-network.zndsl