A framework for building blockchains based Finschia Mainnet that is forked from cosmos-sdk
The Finschia SDK is a framework for building blockchain applications in Golang. It is being used to build Finschia, the first implementation of the Finschia Mainnet. This is forked from cosmos-sdk at 2021-03-15.
WARNING: Breaking changes may occur because this repository is still in the pre-release development phase.
Note: Requires Go 1.20+
What is the Finschia SDK?
The Finschia SDK is an open-source framework for building multi-asset public Proof-of-Stake (PoS)
The purpose of Finschia SDK is to succeed to the objectives of Cosmos sdk while helping develop blockchains that require faster transaction processing to be applied to reality.
Why the Finschia SDK?
Cosmos-sdk, which created the philosophy of application-specific blockchain, established its status as a framework for various application blockchain development. Finschia SDK inherited this cosmos-sdk philosophy, addressing slow transaction processing problem that was difficult for cosmos-sdk to apply in real financial system. Real financial systems require thousands of processing performance per second, with Finschia SDK adding many performance improvements to meet that demand. The following work was carried out to improve performance.
- Concurrent checkTx, deliverTx
- Use fastcache for inter block cache and nodedb cache of iavl
- Lock granularity enhancement
Quick Start
Build
make build make install
you can see the version!
simd version
Configure
zsh init_node.sh sim {N(number of nodes), default=1}
Run
# run a node simd start --home ~/.simapp/simapp0
If N is larger than 1, run all node.
simapp0 has other nodes as persistant_peer.
simd start --home ~/.simapp/simapp0
simd start --home ~/.simapp/simapp1
...
Visit with your browser
- Node: http://localhost:26657/
- REST: http://localhost:1317/swagger/