* Update qcommander.sh bootrap (#304) * v2.0.1 (#308) * roll up v2.0.1-b2 to develop * b2-fixed * adjust return data of fast sync so it doesn't return the earliest frame * -b3 * fix: announce peer based on leading frame, not initial frame; fix: looping bug * fix: last batch fails due to underflow; qol: make logging chattier * -b4 * resolve frame cache issue * fix: mint loop + re-migrate * fix: register execution panic * fix: mint loop, other side * fix: handle unexpected return of nil status * final -b4 * handle subtle change to migration * qol: add heuristic to handle corruption scenario * bump genesis * qol: use separate channel for worker * final parameterization, parallelize streams * deprecate signers 10, 11, 14, 17 * adjust signatory check size to match rotated out signers * V2.0.2.3 (#321) * roll up v2.0.1-b2 to develop * b2-fixed * adjust return data of fast sync so it doesn't return the earliest frame * -b3 * fix: announce peer based on leading frame, not initial frame; fix: looping bug * fix: last batch fails due to underflow; qol: make logging chattier * -b4 * resolve frame cache issue * fix: mint loop + re-migrate * fix: register execution panic * fix: mint loop, other side * fix: handle unexpected return of nil status * final -b4 * handle subtle change to migration * qol: add heuristic to handle corruption scenario * bump genesis * qol: use separate channel for worker * final parameterization, parallelize streams * Add direct peers to blossomsub (#309) Co-authored-by: Tyler Sturos <tyler.john@qcommander.sh> * chore(docker): add ca-certificates to fix x509 error. (#307) * Update qcommander.sh bootrap (#304) * chore(docker): add ca-certificates to fix x509 error. --------- Co-authored-by: Tyler Sturos <55340199+tjsturos@users.noreply.github.com> * deprecate signers 10, 11, 14, 17 * adjust signatory check size to match rotated out signers * qol: sync by rebroadcast * upgrade version * more small adjustments * wait a little longer * fix: don't use iterator for frame directly until iterator is fixed * change iterator, genesis for testnet * adjust to previous sync handling * adjust: don't grab the very latest while it's already being broadcasted * ok, ready for testnet * handle rebroadcast quirks * more adjustments from testing * faster * temporarily bulk process on frame candidates * resolve separate frames * don't loop * make worker reset resume to check where it should continue * move window * reduce signature count now that supermajority signed last * resolve bottlenecks * remove GOMAXPROCS limit for now * revisions for v2.0.2.1 * bump version * bulk import * reintroduce sync * small adustments to make life better * check bitmask for peers and keep alive * adjust reconnect * ensure peer doesn't fall off address list * adjust blossomsub to background discovery * bump version * remove dev check * remove debug log line * further adjustments * a little more logic around connection management * v2.0.2.3 * Fix peer discovery (#319) * Fix peer discovery * Make peer discovery connections parallel * Monitor peers via pings (#317) * Support QUILIBRIUM_SIGNATURE_CHECK in client (#314) * Ensure direct peers are not pruned by resource limits (#315) * Support pprof profiling via HTTP (#313) * Fix CPU profiling * Add pprof server support * Additional peering connection improvements (#320) * Lookup peers if not enough external peers are available * Make bootstrap peer discovery sensitive to a lack of bootstrappers --------- Co-authored-by: Tyler Sturos <55340199+tjsturos@users.noreply.github.com> Co-authored-by: Tyler Sturos <tyler.john@qcommander.sh> Co-authored-by: linquanisaac <33619994+linquanisaac@users.noreply.github.com> Co-authored-by: petricadaipegsp <155911522+petricadaipegsp@users.noreply.github.com> --------- Co-authored-by: Tyler Sturos <55340199+tjsturos@users.noreply.github.com> Co-authored-by: Tyler Sturos <tyler.john@qcommander.sh> Co-authored-by: linquanisaac <33619994+linquanisaac@users.noreply.github.com> Co-authored-by: petricadaipegsp <155911522+petricadaipegsp@users.noreply.github.com> |
||
|---|---|---|
| bls48581 | ||
| channel | ||
| client | ||
| crates | ||
| docker | ||
| go-libp2p | ||
| go-libp2p-blossomsub | ||
| go-libp2p-gostream | ||
| go-libp2p-kad-dht | ||
| go-multiaddr | ||
| go-multiaddr-dns | ||
| nekryptology | ||
| node | ||
| pebble | ||
| rpm | ||
| signers | ||
| vdf | ||
| .dockerignore | ||
| .env.example | ||
| .gitignore | ||
| Cargo.lock | ||
| Cargo.toml | ||
| CONTRIBUTING.md | ||
| DOCKER-README.md | ||
| Dockerfile.release | ||
| Dockerfile.source | ||
| go.mod | ||
| LICENSE | ||
| README.md | ||
| Taskfile.yaml | ||
Quilibrium - Solstice
Quilibrium is a decentralized alternative to platform as a service providers. This release is part of the phases of the Dusk release, which finalizes with the full permissionless mainnet in version 2.0. Documentation for the underlying technology can be found at https://www.quilibrium.com/
Quick Start
Running production nodes from source is no longer recommended given build complexity. Please refer to our release information to obtain the latest version.
Running From Source
Builds are now a hybrid of Rust and Go, so you will need both go 1.22 and latest Rust + Cargo.
VDF
The VDF implementation is now in Rust, and requires GMP to build. On Mac, you can install GMP with brew (brew install gmp). On Linux, you will need to find the appropriate package for your distro.
Install the go plugin for uniffi-rs:
cargo install uniffi-bindgen-go --git https://github.com/NordSecurity/uniffi-bindgen-go --tag v0.2.1+v0.25.0
Be sure to follow the PATH export given by the installer.
Build the Rust VDF implementation by navigating to the vdf folder, and run ./generate.sh.
Node
Because of the Rust interop, be sure you follow the above steps for the VDF before proceeding to this. Navigate to the node folder, and run (making sure to update the path for the repo):
CGO_LDFLAGS="-L/path/to/ceremonyclient/target/release -lvdf -ldl -lm" \
CGO_ENABLED=1 \
GOEXPERIMENT=arenas \
go run ./... --signature-check=false
gRPC/REST Support
If you want to enable gRPC/REST, add the following entries to your config.yml:
listenGrpcMultiaddr: <multiaddr>
listenRESTMultiaddr: <multiaddr>
Please note: this interface, while read-only, is unauthenticated and not rate- limited. It is recommended that you only enable if you are properly controlling access via firewall or only query via localhost.
Token Balance
In order to query the token balance of a running node, execute the following command from the node/ folder:
./node-$version-$platform -balance
The accumulated token balance will be printed to stdout in QUILs.
Note that this feature requires that gRPC support is enabled.
Community Section
This section contains community-built clients, applications, guides, etc
Disclaimer: Because some of these may contain external links, do note that these are unofficial – every dependency added imparts risk, so if another project's github account were compromised, for example, it could lead people down a dangerous or costly path. Proceed with caution as always and refer to reliable members of the community for verification of links before clicking or connecting your wallets
1. The Q Guide - Beginners’ Guide
Development
Please see the CONTRIBUTING.md file for more information on how to contribute to this repository.
License + Interpretation
Significant portions of Quilibrium's codebase depends on GPL-licensed code, mandating a minimum license of GPL, however Quilibrium is licensed as AGPL to accomodate the scenario in which a cloud provider may wish to coopt the network software. The AGPL allows such providers to do so, provided they are willing to contribute back the management code that interacts with the protocol and node software. To provide clarity, our interpretation is with respect to node provisioning and management tooling for deploying alternative networks, and not applications which are deployed to the network, mainnet status monitors, or container deployments of mainnet nodes from the public codebase.