bloq:Golang中的区块链实现

  • m0_207279
    了解作者
  • 9.2KB
    文件大小
  • zip
    文件格式
  • 0
    收藏次数
  • VIP专享
    资源类型
  • 0
    下载次数
  • 2022-05-06 13:43
    上传日期
布洛克 Bloq是用Go编写的区块链框架。 很大程度上是出于我自己的理解,可能不用于生产。 用 区块链 您使用“生成块”作为构造函数的参数创建一个新的区块链。 然后,加载.env配置文件,并启动您选择的服务器(您可以启动不同类型的服务器,只需确保将它们配置在不同的端口上即可): bloq := blockchain . New (blockchain. Block { Index : 0 , Timestamp : time . Now (). String (), Hash : "" , PrevHash : "" , Data : [] byte ( `{ "hello": "world" }` ), }) err := godotenv . Load () if err != nil { log . Fa
bloq-master.zip
  • bloq-master
  • pkg
  • blockchain
  • blockchain_test.go
    1.7KB
  • blockchain.go
    4.7KB
  • internal
  • api
  • tcp.go
    1.4KB
  • http.go
    2.3KB
  • p2p.go
    6.6KB
  • .env
    28B
  • main.go
    533B
  • README.md
    1.2KB
内容介绍
# Bloq Bloq is a Blockchain framework written in Go. Largely for my own understanding, probably not for production use. ## Use ### Blockchain You create a new blockchain with a 'genesis block' as an argument to the constructor. Then you load your .env config file, and spin up a server of your choice (you can spin up different types of servers, just be sure to config them on different ports): ```golang bloq := blockchain.New(blockchain.Block{ Index: 0, Timestamp: time.Now().String(), Hash: "", PrevHash: "", Data: []byte(`{ "hello": "world" }`), }) err := godotenv.Load() if err != nil { log.Fatal(err) } rest := api.NewHTTPAPI(bloq) log.Fatal(rest.Run()) ``` `$ ADDR=8080 TCP_ADDR=9000 go run main.go` ### Smart Contracts ```golang // Dummy code, but you get the gist func handlerFunc(block Block) error { d := map[string]string{} if err := json.Marshal(block.Data, &d); err != nil { return err } return makePayment(d["user_a"]) } func main() { ... bloq.AddContract("name:=:Ewan", handlerFunc) bloq.AddContract("users:>:5", handlerFunc) ... } ``` ## TODO - ADD peer-to-peer integration
评论
    相关推荐