信息来源:BitcoinSV.com
在BSV上进行构建——开始入门
Bitcoin SV是众多区块链中,唯一一个致力于实现大规模扩容以支持全球使用和各类企业级应用的平台。BSV正在将比特币协议恢复如初,并使其保持稳定,从而让开发者和企业放心地构建自己的应用,而无需担心未来的不测。
Bitcoin SV支持以下三种独特的价值主张:微支付、区块链新型数据市场以及能为用户数据赋予价值的、更先进的互联网愿景。凭借这些独特的功能,BSV将使前所未有的实用范例和商业模型成为可能。
请访问BuildonBSV.com进行查阅,它为开发者及企业提供了一个上佳的入门指南。您可以在此找到10多个指导教程,了解如何开始在BSV上进行构建。
BSV生态系统的技术发展迅速。目前已有超过370个应用、工具和协议可供开发者和企业在BSV上使用。
以下是BSV开发资源的目录:
https://wiki.bitcoinsv.io
https://bsvdevcon.net/
https://bsvdevs.com/
https://github.com/monkeylord/awesome-bitcoin-sv
https://www.agora.icu/
BSV的网络层级
您可以将Bitcoin SV网络想象成至少运行在三层之上。
- 网络层代表基础的点对点网络,当中的区块装满了数据交易,并会转发给其他参与者。
- Metanet协议位于网络层之上,定义了数据和交易相互关联的标准,为构建应用和服务提供了稳定的架构。借助BSV区块链上的数据和活动,它实现了一个更先进、更商业化的互联网概念。
- 应用层由以各种方式利用Bitcoin SV所提供的用于支付和/或数据交易的服务组成。
网络层
Bitcoin SV网络由使用比特币协议的点对点交易组成。该协议定义了数据(比特币的货币价值、其他数据或两者同时转移)如何从A发送给其它参与者,并设定了构建交易的规则集合。UTXO模型则提供了一种灵活的记录账本条目的方法,以便进行有效的验证和查询。
Metanet
“Metanet是一个由Craig Wright博士设计的全球性协议和框架,旨在促进Bitcoin SV链上互联网的构建。”——来源。
Metanet协议定义了交易如何通过基础网络上的树结构相互关联。本层中的交易可以有0或1个父交易,并拥有多个子交易。Metanet的结构类似于互联网上的主页(父页面),下级有许多可点击的链接(子页面),通过这些链接可以进一步去往更下级的位置。区别在于Metanet是架构在区块链之上的。
想要开始轻松浏览众多Metanet应用,请访问下列站点:
https://www.agora.icu/
- nChain研究员Jack Davies关于Metanet的系列博客:
https://medium.com/nchain/edge-cases-the-metanet-blog-41b608c8fe67 - Jack Davies在CoinGeek多伦多大会上关于Metanet的演讲:
https://www.youtube.com/watch?v=8PpRoiVIj64 - _unwriter在medium网站上关于Metanet协议实施方案的巨大潜力的博客:
https://medium.com/@_unwriter/the-metanet-starts-84f255a65782
应用层
开发者不需要对比特币协议或脚本语言有过多的了解,就应该可以在BSV上构建出色的应用。应用层将在企业及开发者所想构建的应用与“隐藏在幕后”的更为复杂的比特币网络机制之间,创建一个易于使用的界面。程序可以利用Bitcoin SV的货币功能、数据结构,甚至可以进行程序间的相互利用——由于该协议使任何人都可以在全球账本上协同工作,应用之间的互操作性潜力是前所未有的。程序不再需要单独在服务器和自身的数据库上运行,它们可以使用同一个账本与其他应用进行交互。
企业区块链应用
Bitcoin SV以其大规模扩容、协议稳定、监管友好型的生态系统来满足企业的需求。对于希望在BSV上构建企业级应用的大型企业来说,以下是一些重要资源:
Faiā
Faiā是一家综合性的比特币咨询公司,由亚太地区以社区中心型设计提供支持。该公司的名称在萨摩亚语中意味着“桥梁”或“跨越鸿沟的自然景象”。Faiā帮助各类企业和业务将Bitcoin SV技术集成到其技术栈中。
nChain
nChain是全球领先的区块链技术研发及咨询公司,如果企业希望在其业务中利用BSV,则nChain可以为此提供支持。nChain持有世界上最大的区块链专利组合之一,并承诺该组合中的重要资产可在BSV区块链上免费使用。nChain还建立了一个擅长与企业合作的商业服务团队,以帮助企业利用nChain宝贵的知识产权实施区块链应用和其他解决方案。nChain的团队特别适合助力企业在BSV上进行开发,因为他们开发了Bitcoin SV节点软件并对其进行维护,还设计了Metanet协议,在BSV生态系统中发挥了领导作用。当用户想将业务流程与Bitcoin SV进行集成时,可首先咨询nChain获取建议。
UNISOT
UNISOT (Universal Source of Truth)希望利用BSV区块链的强大特性,建立一个供应链管理、支付和商业间通用数据交换的平台。各个公司通过在同一个数据账本上的合作,便可以看到其他公司实时的交易状态,以便更有效地相互响应。其适用范围包括但不限于供应链、订购、付款和溯源等。由于企业不再需要花费大量时间来解决问题,或是将资源用于彼此之间的手动通信,因此可以显著地节省成本。
通证化
在区块链世界中,通证化的概念是指发行代表真实世界资产的数字token,例如股票、债券、房地产所有权、活动与交通票据、忠诚度积分及赌场筹码等等。
BSV为各类token提供了一个理想平台,原因有二:首先,BSV的大规模扩容路线图为企业级token需求所需的吞吐量提供了支持,同时其交易费用相当低廉(不足一美分);其次,BSV的利益相关者支持监管友好的生态系统,其中也包括其所支持的token协议,该协议能让token发行者更易于遵守其法律辖区内的证券、金融资产及其它法律。
BSV上可用的主要token协议包括:
Tokenized
Tokenized定义了一个平台和协议,在该平台和协议中,发行人和用户可以利用内置的智能合约来进行token的创建、管理和交易。这是一个BSV专属协议,提供了两个主要组件:智能合约自主代理服务以及实现该协议的钱包。与其他token平台(如以太坊网络上的ERC-20)不同,Tokenized寻求在法律框架内运行,并遵守监管,以减轻用户对潜在法律障碍的担忧。
Run on Bitcoin
虽然Run平台尚未正式公开,但我们已经知道平台上的对象被称为Jigs,它是在链上定义的JavaScript对象/类。Run能够实现具备所有基本功能的原生token(其token是一种特殊类型的Jig),发送、生成和组合token的功能均为标准操作。Run利用了BSV的UTXO模型,以利用比特币的可扩容性并由此确立了Jigs的内生所有权。
智能合约
人们有一个常见的误解,认为比特币无法执行智能合约,这使得像以太坊这样的区块链项目的存在是必要的。比特币的原始设计包含一种健壮的编程语言,名为脚本(Script),人们可以用它来编写简单而强大的智能合约。之前的比特币开发者团队限制了这些功能,但Bitcoin SV最终解锁了比特币脚本的全部功能,其中包括启用智能合约。
以下是一些可以用于BSV智能合约开发的工具。
sCrypt是一个基于网络的集成开发环境(IDE),开发者可以用高级编程语言实现低级比特币脚本,然后提取这些脚本并用于别处。IDE具有诸如调试、编译和堆栈管理等标准功能。这使得开发者可以使用一种更为熟悉的语言在比特币脚本中编写智能合约,不需要再去学习一门新语言。
GearSV是在Bitcoin SV上编写和运行智能合约的一种方式。利用高产的BSV开发者_unwriter所开发的其它工具,便可以使用B://协议在链上部署合约,然后在链下运行和验证。Neon Planaria节点可以监视这些类型交易的协议,然后依次运行方法,按照程序写入BSV区块链的顺序来进行验证。
Bitcoin|Computer是一个用于在JavaScript(包括BSV)上运行智能合约的库。可以通过JavaScript中的功能将智能合约部署上链,然后由其它实体加载并进行验证。其所有权是原生的,还可以进行货币(Bitcoin SV)支付和管理token的操作。
区块链浏览器
区块链浏览器是比特币节点的接口,可在其中查看、汇总或提取有关所有已挖出区块、交易和地址的信息。还可以查看有关Bitcoin SV网络的其它信息,例如当前的算力、价格和难度。有的区块浏览器会为开发者提供API,以便他们的应用进行交易的查询和广播。
WhatsOnChain是BSV专用的区块浏览器,具有上述区块链浏览器的所有标准功能。他们还实现了一个可供开发者使用的健壮的公共API,并添加了对Testnet和STN(扩容测试网络)的支持。开发者可以在上面查询各种统计信息、获取地址余额等。
其它支持BSV的区块链浏览器包括:
https://blockchair.com/
https://bchsvexplorer.com/
https://hugeblock.info/
https://bchsv.tokenview.com/
https://bchsvexplorer.com/
https://satoshi.io/
BSV开发者工具
许多BSV开发工具都是为了帮助开发者简化应用开发并鼓励服务之间的互操作性而创建的。随着Bitcoin SV的成长,越来越多的编程者发布了自己的工具,从而创建了一个强健的生态系统。
可从以下资源站点获取或查找BSV应用和开发者工具:
https://bsvdevs.com/
https://www.agora.icu/
除了这些综合性资源网站,这里还有一些更针对性更强的资源:
-
_unwriter
Unwriter是一位匿名的BSV开发者,他构建了许多能够简化应用开发的底层管道工具。他的公司Planaria Corp总部位于纽约,开发了大量的工具,但无法在此一一列举,以下文章对他的工具进行了高度总结:
https://coingeek.com/_unwriters-tools-explained-practical-use-cases-reviewed/
https://coingeek.com/unwriters-tools-explained-use-cases-reviewed-part-2/
https://coingeek.com/unwriters-tools-explained-use-cases-reviewed-part-3/ -
Money Button 及支付途径
Money Button提供了一个简单的支付API,开发者可以轻松地将其集成到网页、商店或应用当中。该服务的用户只需“滑动”就可以生成BSV交易,从而服务供应商和产品用户不用再考虑风险、托管和责任问题。这样可以大大节省业务的开发和维护成本。 -
Datapay是一个JavaScript库,仅仅只需4行代码,就能进行BSV交易广播。这个JavaScript库支持不同类型的交易,因此不仅可以进行支付,也能用于发送数据。
-
Proxypay是一个库,可以从任意钱包进行复杂交易广播。此项工具的优势在于,对用户在应用或网站中所使用的钱包不作特定的限制。
-
Relay One提供了一个支付API,可以一键处理Bitcoin SV中的交易。
-
FastPayButton也是一个支付API,能够一键处理Bitcoin SV的支付,支持Paymail及其它功能。
框架 -
Bitbus——一个健壮的HTTP API端点,可以灵活地使用Bitquery来接收经过确认的交易流。
-
Operate是一个工具集和协议,开发者可以用它在链上发布名为“Ops”的函数,它以编程语言Lua实现。
-
Hummingbird是一个JavasSript库,可直接与远程Bitcoin SV节点进行对接,以实现最佳的交易处理并协助管理应用中的状态机。
各类API
- MatterCloud提供了一个强大的基础架构平台,开发者可以在其中调用各种API来进行UTXO管理、交易广播、地址余额查询等。MatterCloud根据所需的API调用次数提供多种支付方案。可以免费获取每秒可调用1次的API密钥。
- Metaglue是用于构建Metanet应用的平台,该平台负责提供标准钱包功能和数据结构。
- Bcevents是一个JS库,用于侦听某些类型的Bitcoin SV交易,它支持数据的加密和解密。
- Electrum ECIES是一个JS/Golang库,仅需一行代码即可进行数据的加密和解密。
- Planter是一个JS库,用于创建、管理和遍历Metanet节点。
- Polyglot是一个Python库,用于与Bitcom协议进行交互。
库
现有的众多节点软件库使得使用任一种编程语言的开发者都能迅速上手。Bitcoin SV的稳定协议使得运用不同的语言构建基础库成为可能,因为开发者可以确信,不会有根本性的改动去打乱他们的工作计划。如今,更高级别的开发库已被构建出来,不仅能够帮助简化应用开发,还能提供强大的功能。
基础层的库
如今已有众多现成的代码库为在BSV上进行构建提供支持。这些库将低级的比特币协议功能抽象为简单的方法,以供开发者在构建应用时引用。
- Nakasendo SDK(来自nChain)不仅抽象出了较低级的比特币协议功能,还抽象出了如加密和门限签名等高级加密技术,从而让开发者可以更容易地实现这些功能。该SDK将提供C++、JavaScript和Python版本。
- BSV JavaScript库是一个由Ryan X. Charles和Money Button团队开发的综合工具集,可用于管理、建立、签署和广播Bitcoin SV交易。
- Bitsv是一个用Python实现的、与BSV库具有相似功能的库。
- bitcoinj-sv是Bitcoin SV协议的Java实施方案(尚未完成)。
- Rust-SV是Bitcoin SV协议的Rust实施方案。
- bsvd是Bitcoin SV协议的Golang实施方案。
- go-bitcoin是Bitcoin SV RPC的包装库。
- KzBsv是一个构建中的Bitcoin SV的C#库。
- Gigamonkey是一个具有Bitcoin SV基本功能的C++库。
- BSV-ex是在Elixir中实现的Bitcoin SV库。
- bsv-minimal是用JavaScript重新实现的精简BSV库,经优化后能够高效地处理大型区块。
应用层的库
- Twetch SDK是一个JavaScript库,具有一个CLI(命令行界面),内置了钱包和用于与社交媒体平台进行交互的API。
TonicPow是一个广告平台和框架,支持点对点广告,广告发布者在发布广告后,可以通过Bitcoin SV为每次点击付费来进行激励管理。TonicPow具有多种开发工具,可以轻松地集成到您的网站中。 - BitBtn是一个UI按键,用于与纯JavaScript编写的Bitcoin SV钱包进行交互。
- Preserve是一个客户端库,可将文件和网站部署到BSV区块链上。Preserve还会为每次更改创建站点地图交易,以便将网站的历史记录存档。
- BitcoinFiles是一个JS库,它抽象出了与B:\files protocol的交互方法。开发者可以轻松地创建和查询文件,同时还可以使用AIP(作者身份协议)对文件进行签名。
测试网
测试网(Testnets)是一个独立运行的BSV网络,它具有与Mainnet相同的功能,只是在网络上交易的币没有价值。测试网为应用提供了一个稳定的测试环境,如此一来,开发者在将他们的服务部署上Mainnet之前就不用花费真正的BSV了。
WhatsOnChain建立了一个测试网区块浏览器,与他们的主网区块浏览器的功能基本相同。
Bitcoin SV扩容测试网(STN)
BSV扩容测试网(Bitcoin SV Scaling Test Network ,STN)专门用于测试更大的区块和长时间大量的持续交易。创建STN是为了将网络扩容测试与用于应用开发的“普通”测试网络隔离开来。该网对于Bitcoin SV想要实现的大规模扩容来说不可或缺。
硬分叉升级
了解对开发造成影响的BSV相关协议的最新信息:
创世纪(Genesis)硬分叉升级
创世纪硬分叉升级是比特币历史上最大规模的共识性硬分叉,发生于2020年2月4日,距2009年1月3日比特币创世纪区块诞生之日共11年1个月零1天。
可以在此处找到创世纪硬分叉升级的信息及资源:
https://bitcoinsv.io/genesis-hard-fork/
GitHub上创世纪升级的技术参数:
https://github.com/bitcoin-sv-specs/protocol/blob/master/updates/genesis-spec.md
比特币协会撰写并收集了内容准确、精简易读的比特币科普文章,帮助各位开发者了解并学习正确的比特币知识。
- 对比特币区块链开发感兴趣的朋友可以通过CSDN站内私信联系我们,申请加入BSV开发者交流群。
- 同时,您也可以扫描下方二维码,关注比特币协会官方微信公众号——BA资讯,了解更多区块链领域的实时资讯。