社区问答精选——长安链开发知多少?(6月)

news2024/12/23 6:43:34

此次整理的内容为5-6月社群内的问答供更多开发者参考(社群中部分优质问题连贯性不足未能收录,欢迎点击公众号菜单栏加入社群共同交流)。有更多问答在社区issue中描述更为细致,开发者提问前可以先按照关键词进行搜索。欢迎各位开发者按照问答template提交issue,也欢迎有意愿的开发者参与到社区issue版块维护中。

issue问答合集链接:

https://git.chainmaker.org.cn/chainmaker/issue/-/issues?scope=all&utf8=%E2%9C%93&state=all

社群问答精选

安装配置

1. Q:请教一下,长安链部署链对于服务器有没有要求,可不可以用虚拟机?

A:可以的,例如使用centos7。

2. Q:想问这个是啥问题?我这个是开放测试网络。

A:使用长安链插件钱包发送上链信息失败。

(1)此前长安链开放测试网络升级过相关链信息,如果您的插件版本低于V1.5.0,请尽快升级到V1.5.0及以上;

(2)如果您是订阅的自己的链且连接超时,请检查如下信息。

- 长安链插件是部署在公网的,请确保您的链网络支持公网访问。

- 如果您的链网络是部署在局域网环境的测试用的,请将插件系统设置内的网络代理更换到您自行部署的代理服务上。如何部署代理服务请参考长安链插件使用文档。

- 您所要访问的链的相关信息是否填写正确,如chainid,节点信息、链账户信息,以及节点是否还正常运行。

3. Q:管理平台可以修复合约升级权限的吗, 在管理平台投票后修改失败?

A:(1)长安链管理台目前支持修改链配置和链的账户权限,在列表上罗列出:更新区块配置,部署合约、升级合约、冻结合约、解冻合约、注销合约等常用的几个权限的入口。同时也可以通过修改更多权限按钮,修改更多权限。

如果您通过列表修改权限失败,可尝试通过修改更多权限按钮修改。

长安链的权限资源请参考文档:https://docs.chainmaker.org.cn/tech/%E8%BA%AB%E4%BB%BD%E6%9D%83%E9%99%90%E7%AE%A1%E7%90%86.html#permissionedwithcert

(2)如果两者都修改失败,请检查您的链是否还正常运行。

4. Q:请问数据迁移工具目前支持到哪个版本?说明里面是2.2.1。

A:后续的长安链版本兼容2.2.1的数据。

Q:2.3.x版本支持吗?

A:支持的;只需要备份数据之后,更换可执行程序即可。

5. Q:请问链的日志级别在链搭建成功后,可以再次对日志级别进行修改吗?

A:修改log.yml后重启节点。

Q:节点不重启可以吗?

A:目前不支持。

6. Q:请问多机部署中生成的安装包在Linux和Mac通用吗?

A:不通用。

Q:那如果部署机器有Mac的话如何生成他的安装包呀?

A:在mac上单独生成节点安装包然后加入已有链,证书使用同一套,换下二进制就行。

合约相关

7. Q:你好,我想问一下预言机的合约格式限制是只是这个post 表单功能限制吗。还是全局就只支持编译环境是 go 的合约? 因为我看前面说明使用 cmc 指令的时候一点也没提这个事情,只在这里提了下。

A:只支持go合约。

8. Q:把 docker 合约 vm 启用,启动时候报这个错误是什么原因?

A:docker vm没启动吧?这个错误是连接不上docker vm。

Q:看到存在 没有看到端口映射。docker port VM-GO-xf-org4.xwindlab.com 这个容器没有端口映射出来 是正确的吗?

A:不正确 相对于 你连上 EVM 虚拟机,无法部署合约。

9. Q:第一次执行 cmc 合约部署,sdk.log 会报getSyncResult failed错。但是第二次执行的时候就会变成failed to check contract bin version。(但是删除sdk.log后再执行,会继续报错getSyncResult failed)

https://git.chainmaker.org.cn/chainmaker/chainmaker-go/-/blob/master/test/testdata/ERC20Go.7z  

用 chainmaker-go 的 ERC20 测试。发现现象和合约无关,只要是 go 的合约,上述现象是一样的。

A:1. 区块链节点环境安装了7z,不是本地,是区块链节点;2. 确认所有节点都有7z。

SDK相关

10. Q:各位好,想请教一下java-SDK、以及出块的问题:

版本:2.3.1;

链配置:出块间隔-10s,区块容量-100;

问题:SDK发起上链,只有一笔交易就打包出块了,怎么才能一次打包多笔交易,是配置有问题吗?

A:举个例子:公交车来了,站台只有一个人,那就不等了直接拉着开走。站台有 200 人等待,一趟车就拉 100 人,那就俩次拉完。

Q:这个能理解,但是我的疑问点也在这,测试的时候,单个节点发起一次调用(调用invokeContract方法),然后就等待了,出块间隔到了就出块;

我想问的是:单个节点的多笔交易是通过一次调用完成的,还是说多笔交易需要多次调用才可以?

A:多线程或者说发送时采用异步方式,不要同步等待结果。

11. Q:问一下 怎么设置go-sdk中日志模块,比如输出等级、日志文件位置等,WithChainClientLogger这一个貌似不够啊?

A:可以参考这个:

交易相关

9. Q:如果要修改运行时的交易池大小,能通过执行系统合约修改吗?

A:交易池配置在chainmaker.yml里面,属于节点配置,不是链配置。不支持动态修改。

Q:那就是修改配置文件然后重启对吧?

A:对的,修改chainmaker.yml里面的配置,都这么做。

10. Q:长安链有根据时间范围查询交易的接口吗?

A:没有,可以考虑转换成时间范围内的区块,然后根据区块去取交易。

Q:这个时间范围内的区块需要业务系统自己记录吗?

A:区块里面有时间戳,如果不记录的话,可以用里面的时间戳,然后结合二分查找。但是记录会简单些,需要额外存,可以结合自己的场景选择合适的方案。

11. Q:请问开了batch交易池后会自动打开共识消息压缩吗?

A:会的。

12. Q:如果配了多个chain id,那么chain1和chian2的交易应该不会打在同一个区块里吧?

A:两个chain的区块互不干扰。

存储相关

13. Q:请问大家影响节点运行内存占用大小的因素都主要有什么呢,我在使用默认交易过滤器进行1000笔/s的压力测试时,内存使用量达到700MB,希望能够降低一下。

A:可以用pprof分析一下。

Q:这样看是文件DB占用的多,请问这个可以降低吗?

A:logdb_segment_size: 64,修改这个配置之后重启看看;另外你服务器配置低的话,需要关闭一些缓存配置,enable_rwc: false

disable_state_cache: true。

14. Q:请问长安链的区块结果里面的额外数据的字段是存储什么信息的呢?

A:主要是签名信息。

15. Q:请问节点存储文件下wal存储的是什么内容呢?

A:这个是共识节点存储的一些wal信息,保证共识安全和一致性的。

Q:那请问他的大小是累计增长的吗?

A:会增长,但有上限,会自动删除过期的内容。

证书相关

16. Q:编译证书工具,报这些错误。需要怎么配置才能通过呢?asym这个包没有被包含进去编译。请问下大佬们,cryptogen需要设置一些特殊配置吗?试过了go mod了,直接执行make也是报一样的错误我电脑装了三个版本的go。其他项目我是能随意切换go版本编译的?

A:windows可以试试230的。支持编译。231的暂未适配windows。 

17. Q:请教一下 PermissionWithKey、Public  这2中身份模式区别在哪?都是公私钥。

A:PermissionWithKey 这个还需要注册用户才可以访问合约。Public 完全不用注册 相当于放开权限,像公链一样。

跨链相关

18. Q:请问适配2.3.x版的跨链程序发布了吗?查找了一下spv,发布到了2.1.0版。没看到2.3.0对应的spv版本,另外,cross-chain中集成了spv功能,看到现在的版本支持到v2.1.0。

Q:2.3.x版本的跨链程序暂时还没发布,可以继续关注,目前只支持到2.1.x。

19. Q:长安链支持fabric到fabric的跨链吗?

A:不支持。

共识相关

20. Q:长安链这个tbft就是tendermint么?

A:是的,算法本身是基于tendermint论文的,我们做了一些调整和优化。

Q:他的这个主节点轮换的规则是什么呢?

A:正常情况下就是轮换,一个一个来,如果出现一轮没有出块的时候,等这轮完成后,会重新按照取模的方式来。

21. Q:求问,长安链共识节点优先考虑的是内存,还是硬盘?当数据量大起来时,哪部分会成为瓶颈?

A:都需要考虑吧,看测试的时候卡点在哪里;https://docs.chainmaker.org.cn/manage/%E6%95%B0%E6%8D%AE%E7%AE%A1%E7%90%86.html。存储配置的时候,参照一下这个文档。

其他问题

22. Q:

chainmaker/vm-wasmer/v2@v2.3.2/wasmer-go/packaged/include/wasm.h:32: more undefined references to `static_assert' followcollect2: error: ld returned 1 exit status

centos编译报错了 ,wasm的。

A:gcc -v 查看gcc版本,升级到7.3以上。

23. Q:

订阅链失败: send QUERY_CONTRACT failed, all client connections are busy

有谁遇到过这种错误吗?

A:检查一下证书和配置文件是否匹配。

24. Q:请问一下上链成功了,但是里面数据乱码是什么原因呢?

A:浏览器只解析base64,和utf-8。

25. Q:存证合约用的哈希函数是哪种哈希函数?

A:这个由具体的业务来决定哈,长安链的存证合约不计算hash,由业务方根据业务场景来计算就可以~

26. Q:请问在区块头的签名字段和额外数据的签名信息有什么不同呢?

A:区块头是自己签名,其他地方是共识投票签名。

27. Q:public key 模式下,节点之间需要tls证书吗?

A:不需要。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/661631.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Doris FE启动流程源码解读

FE启动流程分析 Doris中FE主要负责接收和返回客户端请求、元数据以及集群管理、查询计划生成等工作。 本文主要看一下Doris的fe在启动时做了什么。 启动流程分析 启动流程图: 代码路径: doris/fe/fe-core/src/main/java/org/apache/doris/DorisFE.j…

华为云CodeArts Build快速上手编译构建-进阶玩家体验

华为云CodeArts Build编译构建为开发者提供配置简单的混合语言构建平台,实现编译构建云端化,支撑企业实现持续交付,缩短交付周期,提升交付效率。支持编译构建任务一键创建、配置和执行,实现获取代码、构建、打包等活动…

react+antd实现表格封装,可动态控制列显示隐藏。

实现效果 import { Table, Pagination, Button, Dropdown, Checkbox, message } from antd; import { useState, useEffect } from react; import { PicRightOutlined } from ant-design/icons;import ./index.less;const TableComponent (props) > {const powerList JSON…

【方法】Excel表格的“打开密码”不想要了,如何取消?

对于重要的Excel表格,很多小伙伴都会设置“打开密码”,这样就无法随意打开表格,只有输入正确的密码才可以打开。 如果后续表格不再需要保护,每次打开都要输一次密码,这样操作也是很麻烦。 那不想要“打开密码”&…

(5)(5.8) 保存微调和自动微调

文章目录 前言 1 保存微调 2 自动微调 3 保存微调和自动微调的视频演示 4 桌面方法 前言 当然,风对你的旋翼飞机有很大的影响,会把它推来推去。然而,你可能也会发现,在自稳模式下飞行时,即使在无风的环境中&#xff0…

chatgpt赋能python:Python重新编辑引擎优化(SEO)文章

Python重新编辑引擎优化(SEO)文章 介绍 Python是一种多用途的高级编程语言,用于开发网络应用程序,算法,科学计算和数据分析等。 随着越来越多的网站和应用程序采用Python编写,优化Python代码以提高搜索引擎优化(SEO)变得越来越重…

基于html+css的图展示133

准备项目 项目开发工具 Visual Studio Code 1.44.2 版本: 1.44.2 提交: ff915844119ce9485abfe8aa9076ec76b5300ddd 日期: 2020-04-16T16:36:23.138Z Electron: 7.1.11 Chrome: 78.0.3904.130 Node.js: 12.8.1 V8: 7.8.279.23-electron.0 OS: Windows_NT x64 10.0.19044 项目…

科技孵化制造蝶变:国际智造节上,群硕获评2023杰出数字化创新企业

论起2023年的热点有哪些?由ChatGPT掀起的智能科技浪潮,绝对是逃不开的话题。 6月16日,以“科技驱动,智造未来”为主题的2023国际智造节,在北京隆重举行。通过此次活动,在数字化领域深耕二十年的群硕软件&a…

K8s Kubectl 技巧集锦

kubectl 是 Kubernetes 的一个命令行管理工具,可用于 Kubernetes 上的应用部署和日常管理。本文列举了 9 个常见的 kubectl 命令,并总结了一些使用技巧,希望可以帮助系统管理员简化管理工作。 一、使用 Kubectl 查询、创建、编辑和删除资源 …

【C数据结构】循环队列_CyclicQueue

目录 循环队列_CyclicQueue 【1】循环队列 【1.1】循环队列的各个接口 【1.2】循环队列初始化 【1.3】循环队列初销毁 【1.4】循环队列插入 【1.5】循环队列删除 【1.6】循环队列获取头位置数据 【1.7】循环队列获取尾位置数据 【1.8】循环队列判满 【1.9】循环队列…

MMOE(Multi-gate Mixture-of-Experts)

1.前提和动机 随着推荐技术的发展,目前越来越多的推荐场景,往往并不是单独的优化一个指标,比如: 视频推荐领域:推荐排序任务不仅需要考虑到用户点击率、完播率,也需要考虑到一些满意度指标,例如…

优秀java实习报告范文5篇

优秀java实习报告范文(一) 一:实习介绍 1)实习题目 学生信息管理系统的设计与开发 2)实习目的 《Java程序设计》课程是电子商务专业的一门专业必修课程,特针对此课程进行为期三周的实践教学,旨在提升本专业学生对此课程中的理论知识的综合应用能力、提高…

微信研发体系下的分布式配置系统设计实践

腾小云导读 对很多的开发者而言,处理运营素材反复变更等需求场景不是一件轻松的事。开发者通常需要定制化地进行数据清理、格式转换和工具开发等等。在这个时候,建设分布式配置系统就显得尤为重要。本文旨在分析分布式配置系统的必要性、可行性及其关键…

SpringBoot的日志

SpringBoot的日志 🔎日志是什么🔎日志的作用🔎日志级别日志级别的作用日志级别的分类日志级别的设置 🔎打印日志打印日志具体内容划分 🔎常用的日志框架为什么这样设计对比System.out.ptintln()与日志框架 &#x1f50…

Kubernetes那点事儿——暴露服务之Ingress

Kubernetes那点事儿——暴露服务之Ingress 前言一、ingress负载均衡器Ingress Controller路由规则Ingress 二、Ingress Controller三、案例 前言 在 k8s 集群中,如果我们将服务暴露出来,提供访问,可以使用Nodeport方式,但是Nodepo…

SIG Mesh协议学习

1. 简介 Bluetooth SIG组织在2017年7月17日发布了蓝牙Mesh标准. 蓝牙Mesh不同于传统Bluetooth Low Energy(BLE)协议的1对1, 1对多的通信方式, 它实现了多对多的通信. 这使得mesh网络中的各个节点之间可以相互通信. 蓝牙Mesh协议建立在BLE的物理层和链路层之上, 也就是说它可以…

MachXO2系列 FPGA LCMXO2-7000HC-4TG144C-可编程逻辑器件介绍

莱迪思深力科MachXO2系列LCMXO2-7000HC-4TG144C是高度可配置的串行逻辑器件(PLD),具有低误差,具有和高系统集成等特性。MachXO2系列逻辑密度增加了3倍,嵌入存储增加了10倍,静态降低100倍,而成本…

动态获取项目根目录的两种方式

说明:如果项目上传的文件是存储在本地的,为了项目可以在其他电脑上也可能正常运行,可以将文件上传至项目的static文件夹里,并将文件路径保存至数据库中,前端显示时使用也可以通过该路径访问。要想获取到本地项目static…

如何评估大型语言模型(LLM)?

编者按:近期几乎每隔一段时间,就有新的大语言模型发布,但是当下仍然没有一个通用的标准来评估这些大型语言模型的质量,我们急需一个可靠的、综合的LLM评估框架。 本文说明了为什么我们需要一个全面的大模型评估框架,并…

DOCker安装(一)

DOCker的安装 1、简介 Docker使用客户端-服务器(C/S)架构模式,使用远程API来管理和创建Docker容器。 Docker容器通过Docker镜像来创建。 容器之间互不干扰 容器与镜像的关系类似于面向对象编程中的对象与类。 对象->容器 镜像->类 通过镜像来创建容器 …