第八章 智能合约介绍

智能合约概述

智能合约是1994年由尼克萨博首次提出的理念,是一种旨在以信息化方式传播、验证或执行合约的计算机协议。智能合约允许在没有第三方的情况下进行可信交易。这些交易可追踪且不可逆。

区块链技术给我们带来了一个去中心化的,不可篡改的,高可靠性的系统,在这种环境下,智能合约才大有用武之地。智能合约是区块链最重要的特性之一,也是区块链能够被称为颠覆性技术的主要原因。

我们为什么需要使用智能合约?

我们可以在区块链上签订合同来实现许多解决方案的自动化,这样使得这个事情变得简单而高效。接下来我们比较智能合约和传统合约,在哪些方面更具有优势,如下图所示:

合约对比

UOS智能合约是与UOS上某个用户绑定在一起的程序。UOS合约默认是有主语的,即是谁的合约。在合约没有部署之前的程序叫做合约程序。

开发要求

开发经验

  • C / C++ 开发经验

  • 需要安装 usoio.cdt C++工具链。 请参考usoio.cdt的编译安装文档

  • Linux使用经验

usoio支持环境:Ubuntu 16.04 及以上 ,会基本的linux使用。

  • 命令行知识

usoio提供了各种工具,这些工具要求您具备基本的命令行知识,以便与之进行交互。

C++环境设置

本质上可以使用任何文本编辑器,最好支持C++语法高亮显示。流行的编辑器有Sublime Text和Atom。另一个选项是IDE,它提供更复杂的代码完成和更完整的开发体验。欢迎您使用您个人喜欢的软件,如果您不确定使用什么,我们提供了一些选项供您选择。

可用的编辑器和IDE:

推荐uosio.cdt 的代码和你的编译源码一起看。uosio.cdt有例子,很容易做到举一反三。而且查询接口也很容易查。你自己的程序也可以放到 ~/uosio.cdt/examples 目录下,方便比较。

UOS合约示例

写合约最好在别人的模板上面改,框架就不用写了,而且可以减少犯错的概率。加快开发速度。/uosio.cdt/examples 提供了一些例子,可以借鉴。

下面以 addressbook.cpp 为例 讲一下合约的编写。

转换EOS合约

Uos的合约开发工具和eos的合约开发工具基本是一致的,eos 1.5版本的接口名称 uos1.5版本全部支持。

比如用户要做addressbook.cpp 合约转为在 UOS下可以使用的合约,那么只需要做一下替换, 以addressbook.cpp为例, 原有的addressbook.cpp 里面的eos 、 EOS 直接替换为uos、UOS 即可变为uos下面的合约。

EOS ==》UOS

eos ==》uos

然后 直接进行编译即可。

使用uosio-cpp进行编译 。

编译出的 addressbook.abi addressbook.wasm 即可在uos公链上面进行使用。

Last updated

Was this helpful?