Open source Rust implementation of the SEDA Protocol.
NOTE this repo adheres to the GPLv3 license.
To learn how to build a local version, please read developing. To learn how to contribute, please read contributing.
There are currently no dependencies.
The configuration for the node and the CLI commands.
Config is written in TOML and read by default from your operating systems app config location.
- Unix Systems(Mac & Linux)
/etc/seda-rust/config.toml - Windows
C:\\ProgramData\\seda-rust\\config.toml
On the first run, a default configuration generates. You need to specify some fields via the command line interface or from environment variables.
Some fields below are not required, as they have default values, or you can pass them through the environment variables or the CLI. For the sake of documentation, here the names of variables will be followed by parentheses with symbols inside:
- ? - means the field is entirely optional and has a default value.
- ! - means it's overwritable by an environment variable.
- * - means it's overwritable by the cli.
You can look at the example configuration here.
- seda_server_address(?!) - Defines the address for seda to run its RPC server on.
- seda_server_port(?!) - Defines the port for seda to run its RPC server on.
- chains - All config fields related to the supported chains.
- near - All config fields related to the near chain.
- chain_rpc_url(!*) - The near server URL.
- near - All config fields related to the near chain.
- node - All config fields related to the seda node.
- contract_account_id(*) - Your near contract account id.
- deposit(?*) - The deposit amount.
- gas(?*) - The gas amount.
- job_manager_interval_ms(?*) - How often the node runs jobs.
- p2p_server_address(?*) - The address to run the p2p server on.
- p2p_known_peers(?*) - The list of known peers for the node.
- public_key(*) - Your near public key.
- runtime_worker_threads(?*) - The number of threads the node can use to spin up jobs.
- seda_chain_secret_key(!*) - Your near secret key.
- seda_secret_key(!*) - Your node secret key.
- seda_sk_file_path(!*) - Your node secret key file path.
- signer_account_id(*) - Your near signer account id.
- logging - All config fields related to the seda logger.
- log_file_path(?!*) - The path where the log file will write.
SEDA configuration uses the following ENV variables if they exist.
NOTE: You can use a .env file to overwrite the env variables more easily.~~~
| Name | Description |
|---|---|
SEDA_CONFIG_PATH |
Defines an alternative path for the seda configuration file to be. |
SEDA_LOG_FILE_PATH |
Overwrites the config logging.log_file_path field. |
SEDA_NEAR_RPC_URL |
Overwrites the config near_chain.chain_rpc_url field. |
SEDA_CHAIN_SECRET_KEY |
Overwrites the config node.seda_chain_secret_key field. |
SEDA_SECRET_KEY |
Overwrites the config node.seda_secret_key field. |
SEDA_SERVER_ADDRESS |
Overwrites the config seda_server_address field. |
SEDA_SERVER_PORT |
Overwrites the config seda_server_port field. |
RUST_LOG |
Controlled via the tracing_subscriber crate. |