以下内容来自使用用户:
在用cita搭链过程中整理了一些问题,希望能得到解答
1、https://docs.nervos.org/cita/#/chain/getting_started 快速搭链写的有点懵逼,我一开始以为直接拉个 docker 镜像下来里面所有cita程序都在了,后来发现并不是这样,看了下 dockerfile 文件,这个镜像里面只是一些python 等环境的配置,实际上是把本地的编译好的 cita 目录给映射进去执行。。。 不知道为啥不做成一个更加『开箱即用』的镜像,包括像 re-birth、cita-cli、microscope 等我觉得都可以整合进去让用户一键部署,现在都是各自要拉源码或者下 release 版本的模式。这点我觉得 PingCAP 的 TiDB 系列产品做的不错,基本上一行命令就把 TiDB、TiKV、monitor 等等都启动了,非常方便,建议可以参考下;
2、目前这个文档主要是指导用户根据给定的脚本确实可以快速搭出一条跑在本地的测试链,但是如果是分开多台机器(真实生产部署场景),具体该怎么配置,还是有点懵,希望能对这种场景有补充。比如说4台节点分别对应4台 ip 不同的机器,那每台分别应该执行 create 脚本吗?好像又不对,create 就产生新的链了;
3、https://docs.nervos.org/cita/#/chain/config_tool 『链的配置』这个页面,contract_arguments 这个参数的值太多了,我觉得既然可以生成init_data.yml 配置文件,那是不是可以考虑增加个类型 contract_config_file=/path/to/config.yml 这样的参数可以一次性导入整个配置文件,这样在配置文件里面去改管理配置会更直观;另外就是SysConfig中有些配置项的解释太简单了,还是不懂具体有什么作用。我建议结合具体的使用场景,可以提供几份默认的配置可供选择。
4、https://docs.nervos.org/cita/#/chain/service_config 微服务配置 中,仅介绍了每个配置中参数的含义,但是具体到多节点部署时怎么改配置,没有专门的描述;
5、jsonrpc 接口列表中,有些接口的使用场景也不清晰,比如 getTransactionProof 接口,看意思似乎是得到某种交易证明,但是具体有什么用呢?文档中说『 A proof include transaction, receipt, receipt merkle tree proof, block header. There will be a tool to verify the proof and extract some info.』,这个 tool 在哪呢?
6、最后,结合我们的场景,我们希望做到如下限制:
a、限制接入的节点(即未经批准的节点无法连入区块链网络中);
b、限制访问链上数据的账号(目前默认是随便生成个键值对,凭自己的地址就能往链上做交易了,我们希望能限制写数据的账号,如果可以的话希望读数据的账号也能限制,比如不能让任何人都能发送个 jsonrpc 请求查某个交易数据);
c、四个节点配置在四台不同的机器上,甚至可能不在同个机房,但出于安全性考虑,这些机器不会直接向公网暴露,所以这里可能涉及到列一下开哪些防火墙端口的配置;
不知这样的限制该如何体现在配置上?
好像有点啰嗦,期盼得到答复,谢谢!