# Nimbus: March Update
First of all, we hope you and your loved ones are keeping safe in these surreal times.
In the hope of giving you a brief respite from all the madness, here's our March update.
## Spec changes
The big change here has been the merging of the BLS changes, which means we're now fully compatible with Spec version `v0.10.1.` 🎉
We're working on being compatible with the newly released [`v0.11.0` – Lan party](https://github.com/ethereum/eth2.0-specs/releases/tag/v0.11.0).
> In the [words of Danny Ryan](https://blog.ethereum.org/2020/03/17/eth2-quick-update-no-9/): this release represents a post-audit Phase 0 spec, ready for long-standing multi-client testnets.
As it stands, we're almost ready (networking is missing, but consensus is done).
## JSON-RPC service
We've built a JSON-RPC service that can be used by Beacon explorers to connect to Nimbus. We'll be using it to create an interface to help us monitor the health of a node.
We continue making progress with interoperability. We can now interop with go-ethereum `discv5`, although not yet with Lighthouse.
Successful interop with another client is our main [goal](https://github.com/status-im/nim-beacon-chain/issues/787) at this stage.
Following some informal discussions at ETHCC, the preliminary target for a full interop between clients seems to be July.
One of the main blockers to full interop for us right now is auditing. This can be broken down into the following steps:
1. Make sure auditors are comfortable with Nim.
2. Decide the scope of the audit.
3. Audit things that don't change much.
4. Continually and progressively audit things that are changing often.
To get things moving on this front, we're preparing a [request for proposal](https://en.wikipedia.org/wiki/Request_for_proposal).
We're currently considering various approaches to how the audit should be performed and what the best approach should be.
Nim Libp2p continues to stabilise.
One of our [March targets](https://github.com/status-im/nim-beacon-chain/milestone/4) was completely dropping the go-daemon, which means stabilising libp2p. As of yesterday this has now been [achieved](https://twitter.com/ethnimbus/status/1242087053572976640) :)
For those of you who are unfamiliar, the two main benefits of dropping the go-daemon are:
1. Simpler installation: dropping the go-daemon will make it much easier for us to explain to people how to download libp2p (we're talking one line instead of 10).
2. Fewer debugging issues: since go-daemon doesn't log everything that's happening, we currently waste a lot of time figuring out the root of certain issues.
To prepare for our beta release, we've also been [working hard](https://github.com/status-im/nim-libp2p/pull/103) on the [documentation](https://github.com/status-im/nim-libp2p) and a new set of [tutorials]((https://our.status.im/nim-libp2p-tutorial-chat/)) -- an important step towards fulfilling the [grant milestones](https://our.status.im/nimbus-team-awarded-grant-for-a-native-implementation-of-libp2p/#deliverables-of-the-project) we set out together with Protocol Labs and the Ethereum Foundation towards the end of last year.
## Finalisation testnet
We've added finalisation tests in [CI](https://searchsoftwarequality.techtarget.com/definition/continuous-integration).
This means that every time we make a commit or PR, a local testnet with four nodes is automatically run. This checks that we haven't broken anything with respect to finalisation.
Since most of our errors manifest themselves as finalisation errors, this has already saved us a lot of time!
## Processing validators and signature: 5x improvement
We fixed a silly but nevertheless important [bug]() concerning message buffering.
As a result **Nim is now able to process validators and signatures 5x faster.**
The downside is that we now produce 5x more logs (400mb hour instead of 80mb / hour). This isn't great for testnet stability, so we're now working on getting this back down to a reasonable figure.
We're now able to use [EVMone](https://github.com/ethereum/evmone) -- the fastest ethereum VM implementation -- in Nimbus (for the execution layer in Eth1).
Importantly, we'll be able to re-use this for phase 2 of Eth2.
- Attestation aggregation work is now [ready to merge](https://github.com/status-im/nim-beacon-chain/pull/769)
- The Eth1 branch of the Nim beacon chain is now monitoring the deposit contract
- We've made a new hire. Welcome [Viktor](https://github.com/onqtam)! Viktor is our hot code reloading guy (parse that as you wish) ;)
'Til next time 💛