• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

arcalinea/simplechain: simple blockchain demonstrating use of libp2p & IPFS ...

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称:

arcalinea/simplechain

开源软件地址:

https://github.com/arcalinea/simplechain

开源编程语言:

Go 100.0%

开源软件介绍:

Simple blockchain

A simple blockchain written in Go, demonstrating use of libp2p and IPFS for networking and block storage layers.

Blocks currently save only to memory, and chain starts from scratch each time it's run.

P2P networking layer

Starts a libp2p node. Sets up pubsub, subscribes to "blocks" and "transactions" topics.

Connecting to another node is currently manual. Start with first address as argument.

./simplechain /ip4/127.0.0.1/tcp/42999/ipfs/QmdRa9h1mAxthj4ACrHULZC5yQmuiHzXDV56rWvnQaMA9o

  • Todo: Bootstrapping and peer connection management.

Block storage

Blocks are content-addressed and saved in memory through the IPFS data format.

Mining

Mining is a proof-of-work algorithm that hashes a random nonce using sha256, seeking a target solution.

  • TODO: difficulty adjustment, save block reward.

miner.go also contains a function for a timeout-based mining algorithm, to test without making your computer scream.

Block and transaction validation

Each block received over network is processed, and saved if it is valid.

Reorg logic is naive, and based on longest chaintip. TODO: difficulty

Wallet

Wallet and account behavior is a stub, currently only contains a function that returns an ecdsa keypair.

  • TODO: Key mgmt for accounts, set and track balances.

RPC interface

Starts up an http server, provides command line RPC interface. Cli must be built and run separately.

go build -o simple-cli ./cli

./simple-cli getinfo

Commands

  • getinfo - Takes no arguments, returns blockchain info.
  • sendtx - Takes receiver address, amount, and optional values of sender address and a memo.
    • ./cli sendtx you 100 -from=me -memo=hi



鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap