关键词:
发表时间:2021年11月25日
信息来源:bitcoinsv.io
BSV节点软件v1.0.10(正式版)是在v1.0.9(正式版)基础之上的推荐升级版本;本次升级版软件带来了一系列的功能改进和性能提升。
详细内容列示如下:
- 对并行交易验证(Parallel Transaction Validation,PTV)调度器的改进
- 对用户代理(User Agent)字符串处理逻辑的调整
- 更新maxscriptsizepolicy和maxscriptnumlengthpolicy的默认值
- 更新点对点(P2P)消息头:
o 版本号
o 变更描述 - sendrawtransactions 提供跳过某些策略验证的选项
- 全新的ZMQ主题(topic)
o 原来的rawtx、hashtx、rawblock、hashblock topicstx通知
o 新增的rawtx2、hashtx2、rawblock2、hashblock2 topicstx通知 - 可配置的超时时间
对并行交易验证(PTV)调度器的改进
对交易无序到达时长且复杂交易图的处理进行了性能改进。
对用户代理(User Agent)字符串处理逻辑的调整
目前,BSV节点可能会连接到BCH节点(在BSV GitHub上有关于如何避免这种情况的建议)。这不会引起任何严重的问题,但会导致带宽浪费和处理无效区块。处理无效区块会产生错误消息,这些消息会污染日志文件,导致很难查看当前的实际情况。采取以下措施可以让节点尽可能只连接到其它BSV节点:
- banclientua – 禁止的用户代理字符串子串的列表(节点将禁止
任何返回这些用户代理字符串的对等节点),默认列表值被设置为:“abc”、“cash”、“bch”; - allowclientua – 新引入的配置选项,包含允许的用户代理字符串子串的列表,这些值会覆盖banclientua的设置。默认列表值为空。
字符串匹配不区分大小写。请注意,如果在节点配置文件或命令行中设置了单个banclientua参数的值,则它的默认列表值将被清空。
配置示例:
banclientua=XYZ
banclientua=ABC
allowclientua=its-not-abc
这个配置将允许/禁止下列用户代理字符串:
‘ThisAbcClient’ # 禁止,匹配ABC
‘ThisBchClient’ # 允许,因为默认值被清空,所以可以连接返回“cash”或“bch”的节点
‘I-cant-believe-its-not-ABC’ # 允许,虽然匹配ABC但也匹配its-not-abc,后者优先级更高
更新maxscriptsizepolicy和maxscriptnumlengthpolicy的默认值
maxscriptsizepolicy和maxscriptnumlengthpolicy配置项的默认值已更新。
- maxscriptsizepolicy的默认值从原来的10,000改为500,000
- maxscriptnumlengthpolicy 的默认值从原来的250,000改为10,000
更新点对点(P2P)信息头
网络上的每一条点对点消息都有相同的基本结构:一个24字节的信息头,后面跟着具体的载荷数据。信息头中包含了描述载荷数据长度的字段,该字段目前使用uint32_t类型编码。因此,这限制了所有消息载荷的长度都不能超过4GB。
为了支持大于4GB的区块,我们对点对点消息的结构进行了改进以克服此限制。
版本号
在这次升级中,点对点协议的版本号已从70015增加到了70016。这能让节点提前知道连接到自己的对等节点是否能理解新的扩展消息格式,从而避免向对方发送这些使用了新格式的消息。遵循此规则的节点不得向版本号低于70016的节点发送使用扩展格式的消息,否则将被对方禁止。
变更描述
总的来说,对点对点消息的更改涉及在现有信息头的某些字段上设置特殊值,这个标记可以被支持此类更改的对等节点识别,以指示这是一条具有大数据载荷的消息。这些特殊值还允许不理解它们的对等节点拒绝这样的消息,并在遇到这样的消息时直接失败。
现有的点对点消息头包含一个12字节的消息类型字段。我们引入了一个新的消息类型extmsg(扩展消息的缩写),当看到这个值时,它会向接收者指示在这个消息头之后是一些新的扩展消息的信息头,然后才是真正的数据载荷。
建议的扩展消息完整格式如下所示:
sendrawtransactions – 提供跳过某些策略验证的选项
现在使用sendrawtransactions RPC时可以对特定的一笔交易或特定的一批交易(前者的优先级更高)指定新的参数配置,来覆盖当前既定的交易规则参数。
这些交易规则参数并未凌架于共识规则之上。
使用sendrawtransactions RPC时,可以指定覆盖既定配置的参数有:maxtxsizepolicy、datacarriersize、maxscriptsizepolicy、maxscriptnumlengthpolicy、maxstackmemoryusagepolicy、limitancestorcount、limitcpfpgroupmemberscount、acceptnonstdoutputs、datacarrier、dustrelayfee、maxstdtxvalidationduration、maxnonstdtxvalidationduration、minconsolidationfactor、maxconsolidationinputscriptsize、minconfconsolidationinput、acceptnonstdconsolidationinput、dustlimitfactor、skipscriptflags
例1:针对特定一笔交易覆盖既定配置参数的方法
sendrawtransactions([‘hex’: signed_tx, ‘dontcheckfee’: True, ‘config’: “maxtxsizepolicy”: 10000000, “minconfconsolidationinput”: 200, “skipscriptflags”: [“CLEANSTACK”, “DERSIG”]…])
例2:针对特定一批交易覆盖既定配置参数的方法
sendrawtransactions([‘hex’: signed_tx, ‘dontcheckfee’: True, …], “maxtxsizepolicy”: 10000000, “minconfconsolidationinput”: 200, “skipscriptflags”: [“CLEANSTACK”, “DERSIG”])
全新的ZMQ主题(topic)
全新的ZMQ主题已添加到节点中。原来的和新增的ZMQ主题之间的差异如下所示。
原来的rawtx、hashtx、rawblock、hashblock主题
交易通知:
• 在交易被内存池接受时发布交易
• 当包含某交易的区块连接时发布交易
• 当包含某交易的区块断开连接时发布交易
区块通知:
• 当区块连接上区块链时发布区块
• 在发生区块重组时仅发布最新区块
新增的rawtx2、hashtx2、rawblock2、hashblock2主题
交易通知:
• 在交易被第一次看到时发布交易:
• 交易被内存池接受,或者
• 交易出现在收到的某个区块中,且内存池里没有
• 当挖出(连接)一个区块时,我们会发布之前没有发布过的交易(通常只有coinbase交易)
• 当收到一个有效区块,我们会发布之前没有发布过的交易(出现在区块中但不在内存池中的交易)
• 我们不会在包含某交易的区块断开连接时发布该交易
区块通知:
• 我们会发布每个连接上区块链的区块
当发生区块重组时,针对每个交易和连接的区块我们都会收到一次通知:
• 当来自断开连接的区块内的交易被内存池接受时,或
• 当包含某交易的较长链中的新区块连接时
• 我们会发布每个新的较长链中的连接区块,而不仅仅是最新区块
• !来自断开连接的区块内的coinbase交易不会被发布!
可配置的超时时间
新的配置选项可被用于解决下载超时的潜在问题。
• blockdownloadtimeoutbasepercent (默认值为100%,即10分钟)
• blockdownloadtimeoutbaseibdpercent (默认值为600%,即60分钟)
• blockdownloadtimeoutbaseperpeerpercent (默认值为50%,即5分钟)
区块下载超时时间的计算方法
如果区块被当作初始区块下载(IBD)的一部分被下载,那么
base-timeout = blockdownloadtimeoutbaseibdpercent
否则
base-timeout = lockdownloadtimeoutbasepercent
超时时间的计算方法如下
最大下载超时时间 = 10 分钟 * (base-timeout + 对等节点的个数 * blockdownloadtimeoutbaseperpeerpercent)
例如,如果节点连接了3个对等节点,那么默认的IBD超时时间将是10分钟 * (600 + 3 * 50)% = 10分钟 * 750% = 75分钟。
请在此下载可执行文件和源代码:https://download.bitcoinsv.io/bitcoinsv/。
如有问题,您可以通过邮件support@bitcoinsv.io或Telegram https://t.me/bitcoinsvsupport联系我们。
目前,全球已有超过400个项目构建于BSV区块链之上。凭借坚如磐石的协议及超高的网络性能,BSV生态系统迅猛发展,我们期待未来出现更多前所未有的商业应用。
- 对BSV区块链开发感兴趣的朋友可以通过CSDN站内私信联系我们,申请加入BSV开发者交流群。
- 同时,您也可以扫描下方二维码,关注BSV区块链官方微信公众号,了解更多区块链领域的实时资讯。
bsv基础架构团队正式发布liteclienttoolbox工程中的三个开源项目
...xff1a;2021年10月6日信息来源:bitcoinsv.ioBSV基础架构团队正式发布以下三个激动人心的开源项目,它们均隶属于LiteClientToolbox工程项目。正式发布BitcoinJ-SVv1.0.1BitcoinJ-SV是旧版BitcoinJ库的轻量级版本,针对可大规模扩容BSV区... 查看详情
new一站式bsv信息服务中心正式上线
...日信息来源:bitcoinassociation.net今天标志着比特币协会正式重启了涵盖BSV一切的信息中心——Bitcoinsv.com。Bitcoinsv.com的目标是成为一个包罗万象的信息库,提供所有与BSV有关的信息。无论你是BSV生态系统的新人还是经验丰... 查看详情
csdnxbsv|区块链工程师能力初级认证正式启动
... BSV区块链开发工程师能力认证项目正式启动区块链工程师能力初级认证。学员在学习并通过全部阶段测试后,可以在线申请进行终极测试,通过者将获得由CSDN能力认证中心和BSV区块链学院联合颁发... 查看详情
陪伴成长|区块链工程师能力认证项目启动bsv奖励计划
...区块链开发工程师能力认证项目于2022年6月6日发布了首门正式课程《区块链原理初级》,并于6月27日正式启动了区块链工程师能力初级认证。为鼓励广大区块链爱好者积极学习课程、奖励优秀学员,今天我们正式推出“... 查看详情
csdnxbsv|区块链工程师能力初级认证正式启动
...联合运营的BSV区块链开发工程师能力认证项目推出了首门正式课程《区块链原理初级》。本课程免费向公众开放,在线学习时间约为9小时,学员在学习并通过全部阶段测试后,可以在线申请进行终极测试,通过者... 查看详情
mapi软件升级到v1.4.0(正式版)
...a;2021年11月25日信息来源:bitcoinsv.iomAPI软件v1.4.0(正式版)是在v1.3.0(正式版)基础之上的推荐升级版本;这个版本的mAPI引入了矿工策略报价(PolicyQuotes)。这使得商家可以获取到矿工策略信息ÿ... 查看详情
《工业互联网标识解析二级节点建设导则(2021年)》正式发布
...此为记!!!为推动工业互联网标识解析二级节点的建设和运营,引导标识解析体系高质量发展, 查看详情
《小强软件测试疯狂讲义-性能及自动化》一书正式发布
...china-pub.com,京东,当当,天猫等网店购买,搜索“小强软件测试疯狂讲义”关键字即可查找并购买了哦! 出版社官方天猫购买地址(推荐):https://detail.tmall.com/item.htm?id=547310727717当当购买地址:http://product.dangdang.com/24239858.... 查看详情
汇智动力《软件测试课程v8.0版本》正式发布!
...f0c;为了使汇智学子适应科技变化的需要,汇智动力《软件测试课程V8.0版本》也随即正式发布!这套全新升级的V8课程体系,是我们对学员“每年至少进行一 查看详情
微软visualstudio2022正式版发布:支持ai辅助编程
微软昨日晚间发布了 VisualStudio2022正式版 等诸多内容,Windows平台软件开发者的福音来了。编辑和调试周期中的生产力在VisualStudio2022正式版中,微软专注于增强编辑和调试周期。VisualStudio2022配备了IntelliCode ,它是一... 查看详情
主机屋2016版正式发布
...诞生的新一代产品,产品结构全面升级,从服务器硬件到软件管理体系,均采用了当前互联网最先进的技术,在性价比上,我们要 查看详情
bsv开发者学院全新免费课程《比特币基础设施入门》已上线
...特币基础设施系列”的第一门课程,将让学习者了解节点和节点运营商在BSV网络建设中的作用。该课程介绍了比特币内置的激励模式,以及一些重要的基本概念,包括支付信道、内存池和区块组成等。比特币协会总部... 查看详情
软件版本gabetarc含义
...RTM:(ReleasetoManufacture)是给工厂大量压片的版本,内容跟正式版是一样的,不过RTM版也有出限制、评估版的。但是和正式版本的主要程序代码都是一样的。OEM:是给计算机厂商随着计算机贩卖的,也就是随机版。只能随机器出货... 查看详情
全球云端数据仓库领导者maxcompute将于本月10日正式开服美东节点
...断加快全球化部署的节奏。本月10日,美东(弗吉尼亚)节点会正式上线。届时,将会以最新版本产品向用户提供大数据计算资源和能力作为全球云端数据仓库的领导者,阿里云MaxCompute为满足更多客户的业务需求,不断加快全球... 查看详情
google calendar v3 API 啥时候正式发布?
...时候【问题讨论】:这个问题似乎离题了,因为它是关于软件历史而不是helpcenter指南中定义的编程。【参考方案1】:我 查看详情
windowsserver2016正式版安装教程
...月末,微软就已经面向大客户OEM伙伴分发了WindowsServer2016正式版ISO镜像,现在则是全面开放下载使用。 WindowsServer2016似乎是对这个平台之前版本的一次体面的升级,围绕着软件定义存储、网络和虚拟化引入 查看详情
软件更新丨移动应用框架ionic4正式版发布:ionicforeveryone
...术A流行的开源移动应用程序开发框架Ionic于今日发布了4.0正式版,代号Neutronium。官方称Ionic4为“IonicforEveryone”。开发者现在可通过Ionic使用Web技术轻松构建高质量的原生和渐进式Web应用程序。Ionic4.0.0Neutronium源码下载:https://gith... 查看详情
号外!gnome3.22正式发布喽!!!
...GNOME3.22正式发布了!“GNOMESoftware可以安装和更新Flatpak软件包,GNOMEBuilder则可以创建它们,而桌面则为沙盒化的应用提供了可移植的实现。对于核心的GNOME应用的改进包括GNOMEFiles中的批量改名、GNOMEPhotos中的分享支持,并更新... 查看详情