Skip to content
Crux Data privacy for Quorum feature image
Conor Svensson

Published On - April 19, 2018

Announcing Crux, a secure enclave for Quorum

 Crux Data privacy for Quorum
We’ve been working with and contributing one way or another to Quorum since it was made public back in November 2016. Regardless of your views of JP Morgan, having one of the worlds largest financial firms putting their weight behind Ethereum blockchain technology and creating Quorum, was always a significant statement, and it helped further cement our view on the potential of Ethereum in enterprise. 
 
Quorum itself is made up of two parts — the Quorum client which is a fork of Geth, and a secure enclave which is written in Haskell. In order to bring Constellation in line with the Geth and Quorum clients, and tap into the significant Golang community, we decided to rewrite it from scratch in Go, creating Crux
 
Crux is a drop in replacement for Constellation in Quorum blockchains. It supports the same configuration arguments as Constellation to ensure a straight forwards migration. 
 
We’ve got some great enhancements planned for Crux in the future, and we’re really keen to grow a strong community around it going forwards. To make it as straight forwards as possible to get up and running with it, we’ve got a version of the Quorum 7 nodes example that uses Crux available on GitHub
 
Otherwise, you can head to the repo and dig around the code. 
 
git clone https://github.com/blk-io/crux.git
cd crux
make setup && make
./bin/crux

 

Crux uses the same NaCl crypto library that constellation supports, and you can generate new keys using the generate-keys parameter:
crux --generate-keys myKey
Then you can run it up in a manner almost identical to Constellation:
crux --url=http://127.0.0.1:9001/ --port=9001 --workdir=crux --
publickeys=tm.pub --privatekeys=tm.key --
othernodes=https://127.0.0.1:9001/
We’ve migrated away from BerkeleyDB for storage and default to LevelDB used by Geth. However, bindings for BerkeleyDB are available if you want to work with an existing Constellation instance. 
 
One last thing, if you’d like to come join us and work full-time on building out Crux — we’re hiring!
Quorum, Golang