Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/input-output-hk/jormungandr
privacy voting blockchain node
https://github.com/input-output-hk/jormungandr
Last synced: about 1 month ago
JSON representation
privacy voting blockchain node
- Host: GitHub
- URL: https://github.com/input-output-hk/jormungandr
- Owner: input-output-hk
- License: apache-2.0
- Created: 2018-10-03T14:55:30.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2024-10-27T00:23:05.000Z (about 2 months ago)
- Last Synced: 2024-10-27T01:32:08.827Z (about 2 months ago)
- Language: Rust
- Homepage: https://input-output-hk.github.io/jormungandr/
- Size: 22.6 MB
- Stars: 364
- Watchers: 55
- Forks: 132
- Open Issues: 262
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE-APACHE
- Codeowners: .github/CODEOWNERS
- Roadmap: ROADMAP.md
Awesome Lists containing this project
- best-of-crypto - GitHub - 25% open · ⏱️ 08.02.2024): (Smart Contract Platforms)
README
## This repo is unmaintained please refer to https://github.com/input-output-hk/catalyst-core/tree/main/src/jormungandr
# Full Node
> Just because you call something a blockchain, that doesn't mean you aren't
> subject to normal engineering laws.User guide documentation available [here][docs]
[docs]: https://input-output-hk.github.io/jormungandr
## Master current build status
| CI | Status | Description |
|---:|:------:|:------------|
| CircleCI | [![CircleCI](https://circleci.com/gh/input-output-hk/jormungandr/tree/master.svg?style=svg)](https://circleci.com/gh/input-output-hk/jormungandr/tree/master) | Master and PRs |## Install from Binaries
Use the [Latest Binaries](https://github.com/input-output-hk/jormungandr/releases),
available for many operating systems and architectures.## Install from Source
### Prerequisites
#### Rust
Get the [Rust Compiler](https://www.rust-lang.org/tools/install) (latest stable
version is recommended, minimum required: 1.39+).```sh
rustup install stable
rustup default stable
rustc --version # if this fails, try a new command window, or add the path (see below)
```#### Dependencies
* For detecting build dependencies:
* Homebrew on macOS.
* `vcpkg` on Windows.
* `pkg-config` on other Unix-like systems.
* C compiler (see [cc-rs](https://github.com/alexcrichton/cc-rs) for more details):
* Must be available as `cc` on Unix and MinGW.
* Or as `cl.exe` on Windows.#### Path
* Win: Add `%USERPROFILE%\.cargo\bin` to the environment variable `PATH`.
* Lin/Mac: Add `${HOME}/.cargo/bin` to your `PATH`.#### protobuf
* The [Protocol Buffers](https://developers.google.com/protocol-buffers) version
bundled with crate `prost-build` will be used.
* For distribution or container builds in general, it's a good practice to
install `protoc` from the official distribution package if available.### Commands
Check `` on
https://github.com/input-output-hk/jormungandr/releases/latest```sh
git clone https://github.com/input-output-hk/jormungandr
cd jormungandr
git checkout tags/ #replace this with something like v1.2.3
cargo build # skip this if you do not want to run the tests
cargo test # skip this if you do not want to run the tests
cargo install --locked --path jormungandr # --features systemd # (on linux with systemd)
cargo install --locked --path jcli
```This will install 2 tools:
* `jormungandr`: the node part of the blockchain;
* `jcli`: a command line helper tool to help you use and setup the node;## Configuration Basics
A functional node needs 2 configurations:
1. Its own [node configuration](https://input-output-hk.github.io/jormungandr/configuration/introduction.html):
Where to store data, network configuration, logging.
2. The [blockchain genesis configuration](https://input-output-hk.github.io/jormungandr/advanced/introduction.html),
which contains the initial trusted setup of the blockchain: coin
configuration, consensus settings, initial state.In normal use, the blockchain genesis configuration is given to you or
automatically fetched from the network.## Quick-Start - Public Mode
To start a new node from scratch on a given blockchain, you need to know the
block0 hash of this blockchain for trust purpose and internet peers to connect
to. The simplest way to start such a node is:jormungandr --block0-hash --trusted-peers
## Quick-Start - Cardano Shelly Testnet
* [Official Cardano Shelly Testnet Documentation](https://testnet.iohkdev.io/cardano/shelley/).
* For the **nightly testnet**, ask within the
[Cardano Stake Pool Workgroup Telegram group](https://web.telegram.org/#/im?p=@CardanoStakePoolWorkgroup).## Quick-Start - Private Mode
Follow instructions on installation, then to start a private and minimal test
setup:```sh
mkdir mynode
cd mynode
python3 PATH/TO/SOURCE/REPOSITORY/scripts/bootstrap.py
```Use the following recommended bootstrap options:
```sh
bootstrap --bft # BFT setup
bootstrap --genesis-praos --slot-duration 2 # Genesis-praos setup
bootstrap --help # further help
```The bootstrap script creates a simple setup with a faucet with 10 millions
coins, a BFT leader, and a stake pool.Both scripts can be used to do simple limited operation through the jcli
debugging tools.## Documentation
Documentation is available in the markdown format [here](doc/SUMMARY.md)
## License
This project is licensed under either of the following licenses:
* Apache License, Version 2.0, ([LICENSE-APACHE](LICENSE-APACHE) or
http://www.apache.org/licenses/LICENSE-2.0)
* MIT license ([LICENSE-MIT](LICENSE-MIT) or
http://opensource.org/licenses/MIT)