Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/nix-community/ethereum.nix
Nix packages and NixOS modules for the Ethereum ecosystem. [maintainers=@aldoborrero,@brianmcgee,@selfuryon]
https://github.com/nix-community/ethereum.nix
blockchain eth ethereum ethereum-blockchain nix nix-community-buildbot nixos nixpkgs
Last synced: about 1 month ago
JSON representation
Nix packages and NixOS modules for the Ethereum ecosystem. [maintainers=@aldoborrero,@brianmcgee,@selfuryon]
- Host: GitHub
- URL: https://github.com/nix-community/ethereum.nix
- Owner: nix-community
- License: mit
- Created: 2022-09-01T12:34:42.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-05-16T08:00:01.000Z (6 months ago)
- Last Synced: 2024-05-17T00:30:05.229Z (6 months ago)
- Topics: blockchain, eth, ethereum, ethereum-blockchain, nix, nix-community-buildbot, nixos, nixpkgs
- Language: Nix
- Homepage: https://nix-community.github.io/ethereum.nix/
- Size: 6.5 MB
- Stars: 85
- Watchers: 5
- Forks: 29
- Open Issues: 21
-
Metadata Files:
- Readme: README.md
- Contributing: .github/CONTRIBUTING.md
- License: LICENSE.md
- Code of conduct: .github/CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
Ethereum.nix = Ethereum 🫶 Nix
Ethereum.nix is a collection of [Nix](https://nixos.org) packages and [NixOS](https://wiki.nixos.org/wiki/NixOS_modules) modules
designed to make it easier to operate [Ethereum](https://ethereum.org) related services and infrastructure.For the uninitiated, using Ethereum.nix will give you the following benefits:
- Access to a wide range of Ethereum applications packaged with Nix, ready to run without fuss. Nix guarantees you don't have to worry about version conflicts, missing dependencies or even what state your OS is in.
- We aim that every Ethereum application stored in the repository is constructed from its source, including all input dependencies. This approach guarantees the code's reproducibility and trustworthiness. Furthermore, with Nix, expert users can tweak and adjust the build process to any degree of detail as required.
- We develop custom NixOS modules to streamline operations with applications such as Execution and Consensus clients (including performing backups). Moreover, we aim to introduce further abstractions that simplify everyday tasks, such as running a development environment effortlessly without needing docker.This project is developed entirely in [Nix Flakes](https://wiki.nixos.org/wiki/Flakes) (but it offers compatibility with legacy Nix thanks to [`flake-compat`](https://github.com/nix-community/flake-compat)).
## Documentation
We recommend you [look at our documentation](https://nix-community.github.io/ethereum.nix/) that shows how to use Ethereum.nix effectively.
Any PR improving documentation is welcome.
## Development
We use [`devshell`](https://github.com/numtide/devshell) to have nice development environments. Below you can find the list of available commands:
```bash
🔨 Welcome to ethereum.nix[Docs]
docs - Build and watch for docs
[Testing]
tests - Build and run a test
[Tools]
check - Checks the source tree
fmt - Format the source tree[general commands]
menu - prints this menu
```
### Requirements
To make the most of this repository, you should have the following installed:
- [Nix](https://nixos.org/)
- [Direnv](https://direnv.net/)After cloning this repository and entering inside, run `direnv allow` when prompted, and you will be met with the previous prompt.
### Docs
To build the docs locally, run `docs build`. The output will be inside of `./result`.
Run `docs serve` to serve the docs locally (after building them previously). You can edit the docs in `./docs`.
### Running tests
To run all tests, you can use `check` (alias for `nix flake check`); it will build all packages and run all tests.
You can use `tests -h` to execute a specific test, which will provide more information.
### Formatting
You can manually format the source using the `fmt` command.
## Contribute
We welcome any contribution or support to this project, but before doing so:
- Make sure you have read the [contribution guide](/.github/CONTRIBUTING.md) for more details on how to submit a good PR (pull request).
In addition, you can always:
- Add a [GitHub Star 🌟](https://github.com/nix-community/ethereum.nix/stargazers) to the project.
- Tweet about this project.## Acknowledgements
This project has been inspired by the awesome work of:
- [`cosmos.nix`](https://github.com/informalsystems/cosmos.nix) by [Informal Systems](https://github.com/informalsystems), which this repository takes inspiration from its README and several other places.
- [willruggiano](https://github.com/willruggiano) on his work done in [`eth-nix`](https://github.com/willruggiano/eth-nix) repository that served as the initial kick-start for working on this project.