Skip to content

wrinkledeth/BLS-TSS-Network

 
 

Repository files navigation

Randcast BLS-TSS-Network

Overview

The infrastructure of Randcast(DKG and Threshold-BLS based randomness service).

Build Guide

Build with cargo build (--release).

Test with cargo test --all -- --test-threads=1 --nocapture.

Directory Structure

This repository contains several Rust crates and Solidity contracts that implement the different building blocks of Randcast. The high-level structure of the repository is as follows:

  • arpa-node: Rust crate that provides a long-running client and a CLI tool for the node operator.
  • user-cli: Rust crate that provides a user side CLI tool to interact with the smart contracts.
  • core: Rust crate that provides basic types, utilities and traits for the node and the CLI tool.
  • contract-client: Rust crate that provides types and traits for interacting with the smart contracts.
  • dal: Rust crate that provides the implementation of the data access layer.
  • log: Rust crate that provides an attribute macro for logging at debug level.
  • dkg-core: Rust crate that provides the implementation utilities for the DKG.
  • threshold-bls: Rust crate that provides the implementation of threshold BLS signatures for BN254 and BLS12-381.
  • contracts: Solidity contracts including Controller, Adapter, Coordinator, libraries and scripts for deployment and testing.

Acknowledgements

Rust crates dkg-core, threshold-bls and Solidity contracts under libraries/ have been adapted from the following resources:

Releases

No releases published

Packages

 
 
 

Languages

  • Rust 62.5%
  • Solidity 25.8%
  • Python 7.1%
  • RobotFramework 3.6%
  • Other 1.0%