Skip to content

Commit

Permalink
Merge branch 'master' into feature/snap-sync-parallel-storage-2
Browse files Browse the repository at this point in the history
  • Loading branch information
damian-orzechowski committed Jan 9, 2025
2 parents 3cba43a + 7db869c commit f44de49
Show file tree
Hide file tree
Showing 210 changed files with 4,489 additions and 3,177 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/hive-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ on:
- ethereum/consensus
- ethereum/engine
- ethereum/graphql
- ethereum/pyspec
- ethereum/eest
- ethereum/rpc
- ethereum/rpc-compat
- ethereum/sync
Expand Down
74 changes: 29 additions & 45 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -1,19 +1,15 @@
# Nethermind Code of Conduct

## Preamble

The Nethermind Community was created to foster an open, innovative and inclusive community around open source development.
To clarify expected behaviour in our communities we have adopted the Contributor Covenant. This code of conduct
has been adopted by many other open source communities and we feel it expresses our values well.
The Nethermind Community was created to foster an open, innovative, and inclusive community around open-source development. To clarify expected behavior in our communities, we have adopted the Contributor Covenant. Many other open-source communities have adopted this code of conduct, and we feel it expresses our values well.

## Our Pledge

We as members, contributors, and leaders pledge to make participation in our
community a harassment-free experience for everyone, regardless of age, body
size, visible or invisible disability, ethnicity, sex characteristics, gender
identity and expression, level of experience, education, socio-economic status,
nationality, personal appearance, race, religion, or sexual identity
and orientation.
nationality, personal appearance, race, caste, color, religion, or sexual
identity and orientation.

We pledge to act and interact in ways that contribute to an open, welcoming,
diverse, inclusive, and healthy community.
Expand All @@ -28,18 +24,17 @@ community include:
* Giving and gracefully accepting constructive feedback
* Accepting responsibility and apologizing to those affected by our mistakes,
and learning from the experience
* Focusing on what is best not just for us as individuals, but for the
overall community
* Be friendly and patient
* Focusing on what is best not just for us as individuals, but for the overall
community

Examples of unacceptable behavior include:

* The use of sexualized language or imagery, and sexual attention or
advances of any kind
* The use of sexualized language or imagery, and sexual attention or advances of
any kind
* Trolling, insulting or derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or email
address, without their explicit permission
* Publishing others' private information, such as a physical or email address,
without their explicit permission
* Other conduct which could reasonably be considered inappropriate in a
professional setting

Expand All @@ -59,25 +54,10 @@ decisions when appropriate.

This Code of Conduct applies within all community spaces, and also applies when
an individual is officially representing the community in public spaces.
Examples of representing our community include using an official e-mail address,
Examples of representing our community include using an official email address,
posting via an official social media account, or acting as an appointed
representative at an online or offline event.

## Contributing

Read carefully our Contributing Guidelines to know how to contribute properly in our
project. Members and maintainers must adhere to some rules regarding to pull requests
reviews and creation of issues and pull requests:

* During code reviews do not comment on coding standards and styles -focus on algorithmical,
structural or naming issues-, help to solve problem.
* When creating an issue or a pull request, follow the templates provided by the repository and
fill in the indicated items correctly. If you do not want to use a template, open a blank issue/PR
and make sure that in its description is not missing any information requested by the templates. Help
the community to get to know your work better.

make sure your description is not missing any information requested by the templates

## Enforcement

Instances of abusive, harassing, or otherwise unacceptable behavior may be
Expand All @@ -104,15 +84,15 @@ behavior was inappropriate. A public apology may be requested.

### 2. Warning

**Community Impact**: A violation through a single incident or series
of actions.
**Community Impact**: A violation through a single incident or series of
actions.

**Consequence**: A warning with consequences for continued behavior. No
interaction with the people involved, including unsolicited interaction with
those enforcing the Code of Conduct, for a specified period of time. This
includes avoiding interactions in community spaces as well as external channels
like social media. Violating these terms may lead to a temporary or
permanent ban.
like social media. Violating these terms may lead to a temporary or permanent
ban.

### 3. Temporary Ban

Expand All @@ -128,23 +108,27 @@ Violating these terms may lead to a permanent ban.
### 4. Permanent Ban

**Community Impact**: Demonstrating a pattern of violation of community
standards, including sustained inappropriate behavior, harassment of an
standards, including sustained inappropriate behavior, harassment of an
individual, or aggression toward or disparagement of classes of individuals.

**Consequence**: A permanent ban from any sort of public interaction within
the community.
**Consequence**: A permanent ban from any sort of public interaction within the
community.

## Attribution

This Code of Conduct is adapted from the [Contributor Covenant][homepage],
version 2.0, available at
https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.
version 2.1, available at
[https://www.contributor-covenant.org/version/2/1/code_of_conduct.html][v2.1].

Community Impact Guidelines were inspired by [Mozilla's code of conduct
enforcement ladder](https://github.com/mozilla/diversity).

[homepage]: https://www.contributor-covenant.org
Community Impact Guidelines were inspired by
[Mozilla's code of conduct enforcement ladder][Mozilla CoC].

For answers to common questions about this code of conduct, see the FAQ at
https://www.contributor-covenant.org/faq. Translations are available at
https://www.contributor-covenant.org/translations.
[https://www.contributor-covenant.org/faq][FAQ]. Translations are available at
[https://www.contributor-covenant.org/translations][translations].

[homepage]: https://www.contributor-covenant.org
[v2.1]: https://www.contributor-covenant.org/version/2/1/code_of_conduct.html
[Mozilla CoC]: https://github.com/mozilla/diversity
[FAQ]: https://www.contributor-covenant.org/faq
[translations]: https://www.contributor-covenant.org/translations
6 changes: 3 additions & 3 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,11 @@ We expect project participants to adhere to our [code of conduct](./CODE_OF_COND

## Asking questions and providing feedback

Have a question? Instead of opening an issue, please ask on our [Discord channel](https://discord.gg/N6Fhbg9u).
Have a question? Instead of opening an issue, please ask on our [Discord channel](https://discord.gg/GXJFaYk).

Our active community will be keen to assist you. Your well-worded questions will also serve as a resource to others searching for help.

Your comments and feedback are welcome, and the development team is almost always available on [Discord](https://discord.gg/76ggjqDz).
Your comments and feedback are welcome, and the development team is almost always available on [Discord](https://discord.gg/GXJFaYk).

## Reporting issues

Expand Down Expand Up @@ -51,7 +51,7 @@ Branch names must follow the `kebab-case` or `snake_case` pattern and be all low

- `feature/1234-issue-title`
- `shanghai/feature/1234-issue-title`
- `fix/1234-bug-decription`
- `fix/1234-bug-description`
- `shanghai/refactor/title`

### File headers
Expand Down
104 changes: 61 additions & 43 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
[![Ask on Discourse](https://img.shields.io/discourse/posts?style=social&label=Community&logo=discourse&server=https%3A%2F%2Fcommunity.nethermind.io)](https://community.nethermind.io/c/nethermind-client)
[![GitPOAPs](https://public-api.gitpoap.io/v1/repo/NethermindEth/nethermind/badge)](https://www.gitpoap.io/gh/NethermindEth/nethermind)

Nethermind is a high-performance, highly configurable Ethereum execution client built on .NET that runs on Linux, Windows, and macOS and supports Clique, Aura, and Ethash. With breakneck sync speeds and support for external plugins, it provides reliable access to rich on-chain data thanks to a high-performance JSON-RPC interface and node health monitoring with Grafana and Seq.
The Nethermind Ethereum execution client, built on .NET, delivers industry-leading performance in syncing and tip-of-chain processing. With its modular design and plugin system, it offers extensibility and features for new chains. As one of the most adopted execution clients on Ethereum, Nethermind plays a crucial role in enhancing the diversity and resilience of the Ethereum ecosystem.

## Documentation

Expand All @@ -24,95 +24,113 @@ Nethermind documentation is available at [docs.nethermind.io](https://docs.nethe

**Ethereum** · **Gnosis** · **Optimism** · **Base** · **Taiko** · **Linea** · **Energy Web**

## Download and run
## Installing

Release builds are available on the [Releases page](https://github.com/nethermindeth/nethermind/releases) and at [downloads.nethermind.io](https://downloads.nethermind.io).
The standalone release builds are available on [GitHub Releases](https://github.com/nethermindeth/nethermind/releases).

### On Linux
### Package managers

#### Install using PPA
- **Linux**

1. `sudo add-apt-repository ppa:nethermindeth/nethermind` \
If command not found: `sudo apt-get install software-properties-common`
2. `sudo apt-get install nethermind`
3. `nethermind -c mainnet`
On Debian-based distros, Nethermind can be installed via Launchpad PPA:

### On Windows
```bash
sudo add-apt-repository ppa:nethermindeth/nethermind
# If command not found, run
# sudo apt-get install software-properties-common

#### Prerequisites
sudo apt-get install nethermind
```

In some cases, [Visual C++ Redistributable](https://aka.ms/vcredist) may need an update:
- **Windows**

```
winget install Microsoft.VCRedist.2015+.x64
```
On Windows, Nethermind can be installed via Windows Package Manager:

#### Install using Windows Package Manager
```powershell
winget install nethermind
```

1. `winget install nethermind`
2. `nethermind -c mainnet`
- **macOS**

### On macOS
On macOS, Nethermind can be installed via Homebrew:

#### Install using Homebrew
```bash
brew tap nethermindeth/nethermind
brew install nethermind
```

1. `brew tap nethermindeth/nethermind`
2. `brew install nethermind`
3. `nethermind -c mainnet`
Once installed, Nethermind can be launched as follows:

## Docker image
```bash
nethermind -c mainnet --data-dir path/to/data/dir
```

The official Docker images of Nethermind are available on [Docker Hub](https://hub.docker.com/r/nethermind/nethermind).
For further instructions, see [Running a node](https://docs.nethermind.io/get-started/running-node).

### Get the digest of the Docker image
### Docker containers

In case of any Docker image need to be updated in the repository, you can update the digest of these images as follows:
The official Docker images of Nethermind are available on [Docker Hub](https://hub.docker.com/r/nethermind/nethermind) and tagged as follows:

```sh
docker inspect --format='{{index .RepoDigests 0}}' <image_name>
```
- `latest`: the latest version of Nethermind (the default tag)
- `latest-chiseled`: a rootless and chiseled image of the latest version of Nethermind
- `x.x.x`: a specific version of Nethermind
- `x.x.x-chiseled`: a rootless and chiseled image of the specific version of Nethermind

The output should show the image digest, and then you can copy that to the `FROM` tag in the Dockerfile.
For more info, see [Installing Nethermind](https://docs.nethermind.io/get-started/installing-nethermind).

## Building from source

### Prerequisites
### Docker image

This is the easiest and fastest way to build Nethermind if you don't want to clone the Nethermind repo, deal with .NET SDK installation, and other configurations. Running the following simple command builds the Docker image, which is ready to run right after:

Install [.NET SDK](https://dotnet.microsoft.com/en-us/download).
```bash
docker build https://github.com/nethermindeth/nethermind.git -t nethermind
```

### Clone the repository
For more info, see [Bulding Docker image](https://docs.nethermind.io/developers/building-from-source#bulding-docker-image).

```sh
### Standalone binaries

**Prerequisites**

Install the [.NET SDK](https://aka.ms/dotnet/download).

**Clone the repository**

```bash
git clone --recursive https://github.com/nethermindeth/nethermind.git
```

### Build and run
**Build and run**

```sh
```bash
cd nethermind/src/Nethermind/Nethermind.Runner
dotnet run -c release -- -c mainnet
```

### Test
**Test**

```sh
```bash
cd nethermind/src/Nethermind

# Run Nethermind tests:
# Run Nethermind tests
dotnet test Nethermind.sln -c release

# Run Ethereum Foundation tests:
# Run Ethereum Foundation tests
dotnet test EthereumTests.sln -c release
```

For more info, see [Building standalone binaries](https://docs.nethermind.io/developers/building-from-source#building-standalone-binaries).

## Contributing

BEFORE you start work on a feature or fix, please read and follow our [contribution guide](https://github.com/nethermindeth/nethermind/blob/master/CONTRIBUTING.md) to help avoid any wasted or duplicate effort.
BEFORE you start work on a feature or fix, please read and follow our [contributing guidelines](./CONTRIBUTING.md) to help avoid any wasted or duplicate effort.

## Security

If you believe you have found a security vulnerability in our code, please report it to us as described in our [security policy](SECURITY.md).

## License

Nethermind is an open-source software licensed under the [LGPL-3.0](https://github.com/nethermindeth/nethermind/blob/master/LICENSE-LGPL).
Nethermind is an open-source software licensed under the [LGPL-3.0](./LICENSE-LGPL).
8 changes: 7 additions & 1 deletion src/Nethermind/Chains/base-mainnet.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,17 @@
"ecotoneTimestamp": "0x65f23e01",
"fjordTimestamp": "0x668eb001",
"graniteTimestamp": "0x66e1be81",
"holoceneTimestamp": "0x67800ea1",
"l1FeeRecipient": "0x420000000000000000000000000000000000001A",
"l1BlockAddress": "0x4200000000000000000000000000000000000015",
"canyonBaseFeeChangeDenominator": "250",
"create2DeployerAddress": "0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2",
"create2DeployerCode": "6080604052600436106100435760003560e01c8063076c37b21461004f578063481286e61461007157806356299481146100ba57806366cfa057146100da57600080fd5b3661004a57005b600080fd5b34801561005b57600080fd5b5061006f61006a366004610327565b6100fa565b005b34801561007d57600080fd5b5061009161008c366004610327565b61014a565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b3480156100c657600080fd5b506100916100d5366004610349565b61015d565b3480156100e657600080fd5b5061006f6100f53660046103ca565b610172565b61014582826040518060200161010f9061031a565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe082820381018352601f90910116604052610183565b505050565b600061015683836102e7565b9392505050565b600061016a8484846102f0565b949350505050565b61017d838383610183565b50505050565b6000834710156101f4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f437265617465323a20696e73756666696369656e742062616c616e636500000060448201526064015b60405180910390fd5b815160000361025f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f437265617465323a2062797465636f6465206c656e677468206973207a65726f60448201526064016101eb565b8282516020840186f5905073ffffffffffffffffffffffffffffffffffffffff8116610156576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f437265617465323a204661696c6564206f6e206465706c6f790000000000000060448201526064016101eb565b60006101568383305b6000604051836040820152846020820152828152600b8101905060ff815360559020949350505050565b61014e806104ad83390190565b6000806040838503121561033a57600080fd5b50508035926020909101359150565b60008060006060848603121561035e57600080fd5b8335925060208401359150604084013573ffffffffffffffffffffffffffffffffffffffff8116811461039057600080fd5b809150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000806000606084860312156103df57600080fd5b8335925060208401359150604084013567ffffffffffffffff8082111561040557600080fd5b818601915086601f83011261041957600080fd5b81358181111561042b5761042b61039b565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156104715761047161039b565b8160405282815289602084870101111561048a57600080fd5b826020860160208301376000602084830101528095505050505050925092509256fe608060405234801561001057600080fd5b5061012e806100206000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c8063249cb3fa14602d575b600080fd5b603c603836600460b1565b604e565b60405190815260200160405180910390f35b60008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915281205460ff16608857600060aa565b7fa2ef4600d742022d532d4747cb3547474667d6f13804902513b2ec01c848f4b45b9392505050565b6000806040838503121560c357600080fd5b82359150602083013573ffffffffffffffffffffffffffffffffffffffff8116811460ed57600080fd5b80915050925092905056fea26469706673582212205ffd4e6cede7d06a5daf93d48d0541fc68189eeb16608c1999a82063b666eb1164736f6c63430008130033a2646970667358221220fdc4a0fe96e3b21c108ca155438d37c9143fb01278a3c1d274948bad89c564ba64736f6c63430008130033"
}
},
"OptimismCL": {
"sequencerP2PAddress": "0xAf6E19BE0F9cE7f8afd49a1824851023A8249e8a",
"nodes": ["/ip4/150.136.106.181/tcp/9222/p2p/16Uiu2HAkwJ9rhDQHogv1PB6yZtpu6QMZMuA7TjAYhNbVKQGrSkYB", "/ip4/45.42.140.30/tcp/21727/p2p/16Uiu2HAm4KH5k1Qkq2gEk74WhWvfunLJLSE7ptVaX5nGy7mdVR7g", "/ip4/54.198.153.150/tcp/9222/p2p/16Uiu2HAkwSnpTCP4f1ttHa2hKgiwZaa8TFJYWHtNNhYbqKwaYMRu", "/ip4/85.17.108.76/tcp/9222/p2p/16Uiu2HAm9bjq6bjVfQtM9SwGV7W3tC5NUaLJPsSBRn4SoqzCXhLq", "/ip4/35.173.48.199/tcp/9222/p2p/16Uiu2HAmHKzkXepNhPBmUrVNShk26WBvaZB5edjCNCpV5sza8Sgd", "/ip4/184.72.129.189/tcp/9222/p2p/16Uiu2HAm3qwgs4Bvfx1GJ5qnY4LjPbYCc394kvdjpxuJBsP3SQnW", "/ip4/184.73.87.196/tcp/9222/p2p/16Uiu2HAmAocWHkRKPsD4kN8pTEEpCqc576vu5nR19DoAfvKd8o8i", "/ip4/18.208.138.113/tcp/9222/p2p/16Uiu2HAmUcc9SxrGewq68TG4EoYB7noYqQrVr1yzinCVHqg4WRGF", "/ip4/173.231.41.130/tcp/9233/p2p/16Uiu2HAm8XHH6fhCh1hxiwCAMpak1rwnd6M53Pqe3AaUGiUZ5AG1", "/ip4/3.231.11.52/tcp/9222/p2p/16Uiu2HAkvLBTPqfA9HHXgnLUQiEJg7EKPb7gu7qMXfJFS79Goy3b", "/ip4/44.221.43.51/tcp/9333/p2p/16Uiu2HAmEGAgiKjz9MCPoEqU3KK9Xu9ZAhJBRoP6quzNKTMKpee9", "/ip4/3.220.145.177/tcp/9222/p2p/16Uiu2HAm31LCBALXkJfNGmK1tVkgzQDw9QQoNcFznzBBCYUPUhAD"]
}
},
"params": {
Expand Down Expand Up @@ -64,9 +69,10 @@
"eip4844TransitionTimestamp": "0x65f23e01",
"eip5656TransitionTimestamp": "0x65f23e01",
"eip6780TransitionTimestamp": "0x65f23e01",

"rip7212TransitionTimestamp": "0x668eb001",
"opGraniteTransitionTimestamp": "0x66e1be81",
"opHoloceneTransitionTimestamp": "0x67800ea1",

"terminalTotalDifficulty": "0"
},
Expand Down
Loading

0 comments on commit f44de49

Please sign in to comment.