Skip to content

findoraorg/abcf

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ABCF

Application Blockchain Framework

Framework for blockchain based on tendermint.

Design principle

  • Try to use tendermint function.
  • Simplilfy logic of blockchain.
    • Only focus on transcation check, state change and block generate. Needn't consider how to sync state, storage data and so on.
  • Provide unit test, testing, and node.

Features (WIP)

  • Module defination.
    • Define Module trait.
    • Application defination.
    • Storage defination.
    • Event defination.
    • RPC defination.
  • Framework entry(single module).
    • Application.
    • RPC.
      • RPC Context.
    • Event.
    • Store.
  • Add example using raw define.
  • Module Register(multi module).
    • RPC
      • Macros.
      • Client SDK.
    • Event
      • Macros
      • Client SDK.
  • Add example using macro.
  • Dynamic update.
    • Genesis info.
    • Node version match.
    • Modular no_std support.
    • Add Webassembly engine.
    • Running Module on Webassembly.

Using framewrok

Cargo.toml

abcf = { git = "git://git@github.com/FindoraNetwork/abcf.git" }

Requirements

  • Rust
  • Go > 1.16 (option): If use tendermint-sys as backend (default).
  • tendermint > 0.34 (option): Is use async-abci as backend.

Test

$ RUST_LOG=debug cargo run --example devnet

About

Application Blockchain Framework.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Rust 100.0%