项目作者: O70

项目描述 :
ChainSQL Dockerfile
高级语言: Dockerfile
项目地址: git://github.com/O70/docker-chainsql.git
创建时间: 2019-12-31T08:08:38Z
项目社区:https://github.com/O70/docker-chainsql

开源协议:MIT License

下载


ChainSQL Dockerfile

ChainSQL Docs

运行单节点

构建并运行

  1. $ docker build -t guiwang/chainsql:0.30.5 .
  2. $ mkdir /path/to/chainsql/
  3. $ cp chainsqld.cfg /path/to/chainsql/
  4. $ docker run -d --name cs \
  5. -p 5006:5006 \
  6. -p 5126:5126 \
  7. -p 6006:6006 \
  8. -v /path/to/chainsql/:/data/ \
  9. guiwang/chainsql:0.30.5

生成validation_public_keyvalidation_seed

  1. $ docker exec -it cs chainsqld validation_create
  2. Loading: "/data/chainsqld.cfg"
  3. {
  4. "validation_key" : "NAME NAT SETS ABED MAN JURY MULE BOOK HEAL WAR BEAT RAP",
  5. "validation_private_key" : "pc7DNWzNvAg6bieYoHgY7yYLGpXqWJAWXhWv9GZ4b7sRPgFjuYY",
  6. "validation_public_key" : "n9LwYRUShor7GmBWSt5R3j19a6rtWKRrHDT8hDpF64gsfT2LsdiW",
  7. "validation_public_key_hex" : "02D589C48FA0ACB28805C8289D1BE994B1A5E561793CFEA6F3C1B0E00F2DAF4EFC",
  8. "validation_seed" : "xhUFHHrcDqapVMibL87xyh5fB299L"
  9. }

替换/path/to/chainsql/chainsqld.cfg中的validation_seedvalidation_public_key选项:

  1. # 本节点私钥(如不配置,不参与共识)
  2. [validation_seed]
  3. xhUFHHrcDqapVMibL87xyh5fB299L
  4. # 本节点公钥
  5. [validation_public_key]
  6. n9LwYRUShor7GmBWSt5R3j19a6rtWKRrHDT8hDpF64gsfT2LsdiW

重启容器

  1. $ docker restart cs

ChainSQL网络搭建

ChainSQL网络搭建。

准备

  1. $ cd /path/to/chainsql/
  2. $ mkdir node{1..4} ; echo node* | xargs -n 1 cp -v chainsqld.cfg

启动容器

  1. $ docker run -d --name cs-node1 \
  2. -p 5006:5006 \
  3. -p 5126:5126 \
  4. -p 6006:6006 \
  5. -v /path/to/chainsql/node1:/data/ \
  6. guiwang/chainsql:0.30.5
  7. $ docker run -d --name cs-node2 \
  8. -p 5007:5006 \
  9. -p 5127:5126 \
  10. -p 6007:6006 \
  11. -v /path/to/chainsql/node2:/data/ \
  12. guiwang/chainsql:0.30.5
  13. $ docker run -d --name cs-node3 \
  14. -p 5008:5006 \
  15. -p 5128:5126 \
  16. -p 6008:6006 \
  17. -v /path/to/chainsql/node3:/data/ \
  18. guiwang/chainsql:0.30.5
  19. $ docker run -d --name cs-node4 \
  20. -p 5009:5006 \
  21. -p 5129:5126 \
  22. -p 6009:6006 \
  23. -v /path/to/chainsql/node4:/data/ \
  24. guiwang/chainsql:0.30.5

生成validation_public_keyvalidation_seed

  1. $ docker exec -it cs-node1 chainsqld validation_create
  2. Loading: "/data/chainsqld.cfg"
  3. {
  4. "validation_key" : "TRIM AM IT SAIL GUN SIS IOTA GALL KING GRAD FOG WOOD",
  5. "validation_private_key" : "pfnwc2v7X4sNCRawVDL9gV67KXdH4DhuQAAcZyd3AzevMwq3RWL",
  6. "validation_public_key" : "n9LFZQX5UU1gvwzH8W2GT6syKzH7cLd6Hgab3MHjNbdZSiZ1PTbR",
  7. "validation_public_key_hex" : "032BDC49DFA5FCF9516D3A1C495A822F422CE23ACAD371714916B46A11D57EC720",
  8. "validation_seed" : "xcBY1pqSHBrbSVgom1qdRbbvL5uor"
  9. }
  10. $ docker exec -it cs-node2 chainsqld validation_create
  11. Loading: "/data/chainsqld.cfg"
  12. {
  13. "validation_key" : "WIND CLUE MINI ALIA BALM BOIL DOE NOR CHUB NUMB GILT TRAG",
  14. "validation_private_key" : "pfcKHyHT9rPBYtw9tQk52eHUHz8ySkMomvWyiQx8H67s3TBM5rT",
  15. "validation_public_key" : "n9LEjGEZdCsT4WPbABwLuHgT1a7VcEhxXpuXjTgindwmyqyHbEXh",
  16. "validation_public_key_hex" : "02E150DC785B33A113122F29B068F25A37C6B291E583837CE6890538EBFD11034F",
  17. "validation_seed" : "xn8T8TqBjJyKHS8oXvt4rKmTRix4R"
  18. }
  19. $ docker exec -it cs-node3 chainsqld validation_create
  20. Loading: "/data/chainsqld.cfg"
  21. {
  22. "validation_key" : "CODA HESS LOY TED OUT BONA SLY VAN TOLL RUB GIFT CHEF",
  23. "validation_private_key" : "pcGcWknarN8g8g6FMxryW2Ehuc4SimFaicEbLs7xeR7Q2sqgqkE",
  24. "validation_public_key" : "n9Kq8wce4E3kFmtUPBbkUACMae3tptf4J5wHGeH6wTSjJy5VmZs6",
  25. "validation_public_key_hex" : "02AAEF29123E78CD0574158E377782952AE8FBD4B0101300901BD08E496F5A2CDD",
  26. "validation_seed" : "xnXts7PmLJqxrK5YjJdmsidypCUnB"
  27. }
  28. $ docker exec -it cs-node4 chainsqld validation_create
  29. Loading: "/data/chainsqld.cfg"
  30. {
  31. "validation_key" : "BORG BARK TEN SUP FORT DUNE FOAL OAK TACK BALL WARM SAG",
  32. "validation_private_key" : "pf9T8xAwn6PGF6UL3rsNYn3uxSMeuQrYMb2kFw5E3UKjn5PJcnV",
  33. "validation_public_key" : "n9JZniNvs9oTn9NdKsLwQ5FZLEfjtZ3FqEwP833BsgLzDAC7AHX3",
  34. "validation_public_key_hex" : "02015485E75F426416EF4C926838DF3B0C97F014C23BC36984145169F70DB64068",
  35. "validation_seed" : "xhKRhU6fpdNqNdNvAfouugniB9taq"
  36. }

依次替换/path/to/chainsql/node[1-4]/chainsqld.cfg中的validation_seedvalidation_public_key选项.

配置ipsvalidators选项

  1. [ips]
  2. 10.10.3.5 5126
  3. 10.10.3.5 5127
  4. 10.10.3.5 5128
  5. 10.10.3.5 5129
  6. [validators]
  7. n9LFZQX5UU1gvwzH8W2GT6syKzH7cLd6Hgab3MHjNbdZSiZ1PTbR
  8. n9LEjGEZdCsT4WPbABwLuHgT1a7VcEhxXpuXjTgindwmyqyHbEXh
  9. n9Kq8wce4E3kFmtUPBbkUACMae3tptf4J5wHGeH6wTSjJy5VmZs6
  10. n9JZniNvs9oTn9NdKsLwQ5FZLEfjtZ3FqEwP833BsgLzDAC7AHX3

需要剔除节点本身的ip端口以及公钥.

重启容器

  1. $ docker restart cs-node{1..4}

查看节点信息

  • 查看当前节点信息

    1. $ docker exec -it cs-node1 chainsqld server_info
  • 查看其它节点的运行情况

    1. $ docker exec -it cs-node1 chainsqld peers
  • 生成/查看根账户

    1. $ docker exec -it cs-node1 chainsqld wallet_propose masterpassphrase