All Projects β†’ archethic-foundation β†’ archethic-node

archethic-foundation / archethic-node

Licence: AGPL-3.0 license
Official Archethic Blockchain node, written in Elixir

Programming Languages

elixir
2628 projects
HTML
75241 projects
c
50402 projects - #5 most used programming language
javascript
184084 projects - #8 most used programming language
shell
77523 projects
SCSS
7915 projects

Projects that are alternatives of or similar to archethic-node

solidstate-solidity
πŸ’  Upgradeable-first Solidity smart contract development library πŸ’ 
Stars: ✭ 264 (+528.57%)
Mutual labels:  smart-contracts
protocol
Livepeer protocol
Stars: ✭ 136 (+223.81%)
Mutual labels:  smart-contracts
alpha-interface
✨ Token Exchange App for Arweave Profit Sharing Tokens
Stars: ✭ 34 (-19.05%)
Mutual labels:  smart-contracts
awesome-smart-contracts
Awesome Ethereum Projects List
Stars: ✭ 35 (-16.67%)
Mutual labels:  smart-contracts
pallet-contracts-waterfall
Collection of simple Substrate smart contract examples written in Rust, AssemblyScript, Solang and the smart contract language ink! to test substrates pallet-contracts module
Stars: ✭ 28 (-33.33%)
Mutual labels:  smart-contracts
trufflepig
πŸ„πŸ·Truffle contract artifact loading tool for local development
Stars: ✭ 45 (+7.14%)
Mutual labels:  smart-contracts
cheezyverse
Cheeze Wizards is the world's first battle royale on the blockchain (with cheese!)
Stars: ✭ 38 (-9.52%)
Mutual labels:  smart-contracts
awesome-ethereum-events
Inspired by the awesome list of awesome lists of awesome lists of...
Stars: ✭ 18 (-57.14%)
Mutual labels:  smart-contracts
fnd-docs
Foundation developer docs
Stars: ✭ 33 (-21.43%)
Mutual labels:  smart-contracts
substrate-contracts-node
Minimal Substrate node configured for smart contracts via pallet-contracts.
Stars: ✭ 70 (+66.67%)
Mutual labels:  smart-contracts
eth-decoder
Simple library to decode ethereum transaction and logs
Stars: ✭ 32 (-23.81%)
Mutual labels:  smart-contracts
ex-healthcare-claims-processing
Reference DAML application demonstrating a healthcare use case.
Stars: ✭ 27 (-35.71%)
Mutual labels:  smart-contracts
dipdup-py
Modular framework for creating selective indexers and featureful backends for dapps
Stars: ✭ 49 (+16.67%)
Mutual labels:  smart-contracts
ethereum-crowdsale
0xcert protocol crowdsale contracts for Ethereum blockchain.
Stars: ✭ 15 (-64.29%)
Mutual labels:  smart-contracts
py-etherdelta
Python client for interacting with the EtherDelta API and Smart Contracts.
Stars: ✭ 22 (-47.62%)
Mutual labels:  smart-contracts
zeneth
🏡️ Let Your ETH Chill β€” Gasless Ethereum account abstraction with Flashbots
Stars: ✭ 112 (+166.67%)
Mutual labels:  smart-contracts
Credits
Credits(CRDS) - An Evolving Currency For An Evolving Society
Stars: ✭ 14 (-66.67%)
Mutual labels:  smart-contracts
AirdropCentral
An AirdropCentral where anyone can submit tokens to be distributed among users
Stars: ✭ 62 (+47.62%)
Mutual labels:  smart-contracts
clarity-lsp
Language Server Protocol implementation for Clarity (including VS code extension).
Stars: ✭ 47 (+11.9%)
Mutual labels:  smart-contracts
eth option
ERC20-compatible Option Contracts
Stars: ✭ 22 (-47.62%)
Mutual labels:  smart-contracts

Archethic

Welcome to the Archethic Node source repository ! This software enables you to build the first transaction chain and next generation of blockchain focused on scalability and human oriented.

Archethic features:

  • Fast transaction processing (> 1M tps)
  • Lower energy consumption than other blockchain
  • Designed with a high level of security (ARCH consensus supporting 90% of maliciousness)
  • Adaptive cryptographic algorithms (quantum resistant)
  • Decentralized Identity and Self Sovereign Identity
  • Smart contract platform powered by a built-in interpreter
  • Strong scalability with geo secured sharding
  • Soft-Real-Time P2P view with supervised networking

Development

Our codebase aims to reach the guidelines of Elixir projects. We are focusing on the best quality.

The source code can change to respect the best quality of reading and regarding best practices.

Current implemented features:

  • Adaptive cryptography: different elliptic curves and software implementation
  • Hybrid root of trust: mix of hardware and software cryptographic key to maintain trust and security
  • TransactionChain: Transaction structure and transaction generation
  • Smart Contract: interpreter coded with Elixir DSL through Meta-programming and AST
  • Node election: heuristic validation and storage node selection
  • P2P: Inter-node communication, supervised connection to detect the P2P view of nodes in almost real-time
  • Transaction mining: ARCH consensus
  • Beacon chain: Maintains a global view of the network (transactions, P2P view)
  • Self-Repair: Self-healing mechanism allowing to resynchronize missing transactions
  • Embedded explorer leveraging sharding to retrieve information
  • Custom Binary protocol for data transmission
  • Token minting
  • Internal oracles (UCO Price Feed)
  • Tailored embedded database

Requirements:

  • Libsodium: for the ed25519 to Curve25519 conversion
  • OpenSSL 1.11
  • Erlang OTP 25
  • Elixir 1.14
  • GMP (https://gmplib.org/)

Platforms supported:

  • Linux (Ubuntu 18.04)
  • Mac OS X

Development

At first, get dependencies:

mix deps.get

Install the static assets

cd assets ; npm install; cd -

To start a single node:

iex -S mix

To clean the data

make clean

To start multiple nodes, you can leverage: docker-compose

Development with docker-compose

Requires working docker-compose

Build the image:

docker build -t archethic-node .

To start testnet:

docker-compose up

To run benchmarks:

docker-compose up bench

To run the playbooks to validate non regression:

docker-compose up validate

Contribution

Thank you for considering to help out with the source code. We welcome contributions from anyone and are grateful for even the smallest of improvement.

Please to follow this workflow:

  1. Fork it!
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

Licence

AGPL

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].