catalyst-network / Catalyst

Fast, scalable PBFT distributed ledger
https://www.catalystnet.org
GNU General Public License v2.0
21 stars 9 forks source link
awesome-catalyst-network blockchain c-sharp c-sharp-library catalyst catalyst-network dlt
ReDoc logo ### Catalyst - Full Stack Distributed Protocol Framework [![Website](https://catalystnet.org/) [![Subreddit subscribers](https://img.shields.io/reddit/subreddit-subscribers/catalystnet?style=social)](https://reddit.com/r/catalystnet)
[![Build Status](https://dev.azure.com/catalyst-network/Catalyst/_apis/build/status/pr-tests-master?branchName=master)](https://dev.azure.com/catalyst-network/Catalyst/_build/latest?definitionId=22&branchName=master) [![Codacy Badge](https://api.codacy.com/project/badge/Grade/08cb016d7489471eadd0192ce4d7b26e)](https://www.codacy.com/manual/catalyst-network/Catalyst?utm_source=github.com&utm_medium=referral&utm_content=catalyst-network/Catalyst&utm_campaign=Badge_Grade) [![All Contributors](https://img.shields.io/badge/all_contributors-11-orange.svg?style=flat-square)](#contributors)

Important Release Notes 31/03/2020

Known UDP messaging issue For the initial release of the Catalyst Network UDP is used as the peer to peer messaging protocol. This causes fragmentation of packages and thereby transactions over 1280Bytes are prone to packet loss as discussed in Issue #909. Due to the DFS utilising a seperate TCP messaging system this does not affect files stored in the DFS including ledger state updates. However it will affect both simple and smart contract transactions.

MacOS node running issue Currently there is an issue with running RocksDB on MacOS meaning that a node can not unfortunatly be run on MacOS. A fix is currently in progress and will be availiable iminently.

Table of Contents

What is the Catalyst Network?

The Catalyst Network is a full-stack distributed network built to fulfill the real-world potential of Distributed Ledger Technology, enabling the next generation of distributed computing applications and business models.

Catalyst was designed by an experienced team of engineers and researchers who were presented with a difficult challenge: build a large decentralized network capable of storing all types of data ranging from structured tabular records through to large Binary Large Objects at low cost to users, as well as dApps written in any language. Broadly, this meant solving the blockchain trilemma to maintain decentralization and support a high transaction throughput in a continuously growing network without compromising on security.

Features

Documentation

Our api docs can be found on our documentation site https://catalyst-network.github.io/Catalyst/api

Furtermore, our Technical White Paper is availiable here. This document explains the implementation of the Catalyst network.

Quick Start Guide for Node

In order to run a node on Catalyst some baisic knowledge is neeeded on how to access / use Command prompt or the terminal for your opperating system. This guide can be found here:

Getting Access to Command Prompt / Terminal

The node set up process for each opperating system, so ease of use we have seperated the guides according to the opperating system.

Guide for Windows

Run a TestNet node on Windows

Guide for MacOS

Run a TestNet node on MacOS

Guide for Linux

Run a TestNet node on Linux

Configuring the node

Once the above steps have been completed the node must be manually configured following:

How to configure a Catalyst POA node

Modules

Core Libraries Description Nuget
Abstractions Abstractions and interfaces Nuget
Core Lib Core Catalyst libraries Nuget
Protocol SDK Catalyst protocol c# sdk Nuget
Core Modules Description Nuget
Kvm Finite state machine for smart contacts Nuget
Mempool Deterministic mempool for ordering transactions Nuget
Web3 Web3 gaateway Nuget
Consensus PBFT Consensus Mechanism Nuget
Dfs Distributed File Storage Nuget
Keystore Secure Keystore Nuget
Hastings Discovery Unstructured overlay network with metropolis hasting random walk Nuget
Rpc Server Rpc Server pipeline with dotnetty Nuget
Rpc Client Rpc Client pipeline with dotnetty Nuget
KeySigner Catalyst KeySigner, sign transactions and message with identity and context Nuget
Ledger Catalyst ledger state provider Nuget
BulletProofs Cryptography Bullet proof native rust bindings Nuget
Optional Modules Description Nuget
CosmosDB Azure CosmosDb connector Nuget
MongoDB MongoDb connector Nuget

Contributors

Thanks goes to these wonderful people (emoji key):

TheNewAutonomy
TheNewAutonomy

💻
nshCore
nshCore

🚇 🤔 ⚠️ 💻
franssl
franssl

⚠️ 💻
monsieurleberre
monsieurleberre

⚠️ 💻
atlassanjay
atlassanjay

⚠️ 💻
Millymanz
Millymanz

⚠️ 💻
Richard Schneider
Richard Schneider

⚠️ 💻
Alex
Alex

💻 ⚠️
Richard Littauer
Richard Littauer

📖
sudhirtibrewal
Sudhir Tibrewal

💻
Tomasz Kajetan Stańczak
Tomasz Kajetan Stańczak

💻 🤔
Szymon Kulec
Szymon Kulec

💻

Contributing

Now that you've seen all of the contributors, why not contribute? We're always keen on getting more contributions and growing our community! Open a PR! Log an issue! :D

Take a look at our organization-wide Contributing Guide. You'll find most of your questions answered there.

As far as code goes, we would be happy to accept PRs! If you want to work on something, it'd be good to talk beforehand to make sure nobody else is working on it. You can reach us in the issues section.

Please note that we have a Code of Conduct, and that all activity in the @catalyst-network organization falls under it. Read it when you get the chance, as being part of this community means that you agree to abide by it. Thanks.

License

GPL © 2024 Catalyst Network