本篇文章主要给网友们分享比特币智能合约脚本的知识,其中更加会对比特币合约操作进行更多的解释,如果能碰巧解决你现在面临的问题,记得关注本站!
比特币的测试网络
Satoshi Nakamoto创建了主要比特币智能合约脚本的比特币区块链,创世区块所在的主链网络,被称为主网。还有其比特币智能合约脚本他测试目的的比特币链:
现存的有testnet,segnet和regtest。
testnet是一个功能齐全的在线P2P网络,包括钱包,测试比特币(testnet币),挖矿以及类似主网的所有其他功能。
实际上和主网只有两个区别:testnet币是没人认可其价值的,挖矿难度比较低,这样可以欢快的使用testnet币。
那些想跟比特币主网进行交互的开发软件,都可以现在testnet上进行测试,这样好处实在太明显了。
testnet3是目前的测试网络版本,因为从创世区块重新开始跑已经出现了三次,这个网络也比较庞大,也有几十个G。
进行testnet全节点挖矿需要准备好硬盘。如果是启动testnet,而不是主网启动,可以使用如下命令:
然后可以使用bitcoin-cli命令行工具,但是要切换到testnet模式:
testnet3支持主网的所有功能,包括在主网络上尚未激活的Segregated Witness,因此testnet3也可以用于测试隔离见证功能。
这样一个隔离测试网络,用来帮助开发和测试隔离见证(segwit)。该测试区块链称为segnet,可以通过运行Bitcoin Core的特殊版本来连接。
由于将segwit添加到testnet3中,因此后面不再使用segnet来测试segwit功能。
Regtest代表回归测试,是一种比特币核心功能,允许用户创建本地区块链以进行测试。
与testnet3不同,regtest区块链旨在作为本地测试的封闭系统运行。所以可以从创世区块开始,启动regtest链,创建一个本地的创世区块。
可以将其他节点添加到网络中,或者使用单个节点运行来测试Bitcoin Core软件。
要在regtest模式下启动Bitcoin Core,可以使用regtest标志:
可以在开发比特币核心,全节点共识客户端,钱包,交易所等,甚至是智能合约和复杂的脚本等,都可以用测试网络进行开发。
比特币支持智能合约吗?
请注意,支持。
合约就是当我跟你做一个交易时,它能保证这个交易达成,也就是说它能表达某种条件,当条件满足时我才给你付款。能把这个条件表达出来,就可以认为它有智能合约表达能力。比特币的脚本(Script)是有智能合约表达能力的,可以把比特币的脚本理解成是一种智能合约
如何理解区块链的智能合约?
智能合约”(smart contract)这个术语至少可以追溯到1995年,是由多产的跨领域法律学者尼克·萨博(Nick Szabo)提出来的。他在发表在自己的网站的几篇文章中提到了智能合约的理念。他的定义如下:
“一个智能合约是一套以数字形式定义的承诺(promises),包括合约参与方可以在上面执行这些承诺的协议。”
让我们更加详细地探讨他的定义的意思。
承诺
一套承诺指的是合约参与方同意的(经常是相互的)权利和义务。这些承诺定义了合约的本质和目的。以一个销售合约为典型例子。卖家承诺发送货物,买家承诺支付合理的货款。
数字形式
数字形式意味着合约不得不写入计算机可读的代码中。这是必须的,因为只要参与方达成协定,智能合约建立的权利和义务,是由一台计算机或者计算机网络执行的。
更进一步地说明:
(1)达成协定
智能合约的参与方什么时候达成协定呢?答案取决于特定的智能合约实施。一般而言,当参与方通过在合约宿主平台上安装合约,致力于合约的执行时,合约就被发现了。
(2)合约执行
“执行”的真正意思也依赖于实施。一般而言,执行意味着通过技术手段积极实施。
(3)计算机可读的代码
另外,合约需要的特定“数字形式”非常依赖于参与方同意使用的协议。
协议
协议是技术实现(technical implementation),在这个基础上,合约承诺被实现,或者合约承诺实现被记录下来。选择哪个协议取决于许多因素,最重要的因素是在合约履行期间,被交易资产的本质。
再次以销售合约为例。假设,参与方同意货款以比特币支付。选择的协议很明显将会是比特币协议,在此协议上,智能合约被实施。因此,合约必须要用到的“数字形式”就是比特币脚本语言。比特币脚本语言是一种非图灵完备的、命令式的、基于栈的编程语言,类似于Forth。
智能合约
链乔教育在线旗下学硕创新区块链技术工作站是中国教育部学校规划建设发展中心开展的“智慧学习工场2020-学硕创新工作站 ”唯一获准的“区块链技术专业”试点工作站。专业站立足为学生提供多样化成长路径,推进专业学位研究生产学研结合培养模式改革,构建应用型、复合型人才培养体系。
比特币智能合约脚本的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于比特币合约操作、比特币智能合约脚本的信息别忘了在本站进行查找喔。
标签: #比特币智能合约脚本
评论列表