合约开发

最近更新时间:2021-09-07 17:54:29

操作场景

Solidity 是一种语法与 JavaScript 相似的静态类型高级语言,同时支持继承、库、复杂的用户自定义类型以及其他功能。关于 Solidity 语法,请前往 Solidity 官网 进一步了解。

FISCO BCOS 集成了 EVM 虚拟机,用户可以使用 Solidity 语言在 FISCO BCOS 平台上开发智能合约。

基本概念

群组

一条链可以有多个群组,节点可以加入不同的群组,群组之间的区块交易信息、共识相互独立。

私钥

私钥是用户在链中的账户,有了私钥才能参与链上的交易。

智能合约

智能合约概念于1995年由 Nick Szabo 首次提出,指以数字形式定义的能自动执行条款的合约。数字形式意味着合约必须用计算机代码实现,因为只要参与方达成协定,智能合约建立的权利和义务,就会被自动执行,且结果不能被否认。

前提条件

已登录 TBaaS 控制台

操作步骤

搭建开发环境

Remix 简介

您可使用 Remix 尝试 Solidity 编程。Remix 是一个基于 Web 浏览器的 IDE,用户可以使用它编写 Solidity 智能合约,然后部署并运行该智能合约。
Remix 集成了编译器和 Solidity 运行时环境,不需要服务端组件。Remix 作为无需安装即可使用的在线编译器,用户只需打开网址,即可在线使用并看到具体效果。

Remix 使用

  1. 使用浏览器访问 Remix,完成运行时环境等相关设置。

  2. 新建文件,并输入以下代码:

    pragma solidity ^0.4.0;
    contract HelloWorld{
        uint balance;
        function update(uint amount) returns (address,uint){
            balance += amount;
            return (msg.sender, balance);
        }
    }

  3. 单击右侧的Run > Deploy进行函数部署。如下图所示:

    即可在控制台查看返回结果。如下图所示:

  4. 展开右侧导航栏的 “Deployed Contracts” 的返回项,在update右侧输入入参,并单击update。如下图所示:

    即可在控制台查看返回结果。

创建群组

  1. 选择 TBaaS 控制台左侧导航栏中的BOCS > 区块链网络
  2. 单击资源 ID,进入区块链网络概览页面。
  3. 在区块链网络概览页中,选择群组管理页签,并单击新建群组
  4. 在弹出的“新建群组”窗口中,输入群组描述并单击保存。即可创建群组,群组名称会自动生成。如下图所示:

新建私钥

  1. 在区块链网络概览页中,选择私钥管理页签,并单击新增私钥
  2. 在弹出的“新增私钥”窗口中,输入私钥名称及描述,单击保存即可。如下图所示:
    说明:

    您也可以导入个人私钥。私钥导入支持 txt、pem 和 p12 格式。

上传智能合约

  1. 在区块链网络概览页面,选择合约管理页面并单击新增合约
  2. 在弹出的“新增合约”窗口中,单击选择文件并上传 solidity 合约。如下图所示:
    注意
    • 请上传以 .sol 为后缀、不超过4MB且文件中不包含中文的合约文件。
    • 合约名称需和合约内容的 contract 对象名一致,否则会编译失败。
    • 文件名即为合约名。

编译智能合约

  1. 合约管理页签中看到已成功上传的合约。
  2. 单击合约所在行右侧的编译,并在弹出窗口中确认后即可编译合约。

部署智能合约

  1. 合约管理页签中,完成编译的合约所在行右侧有部署选项。
  2. 在弹出的“部署合约”窗口中,选择私钥并单击保存。如下图所示:

    部分合约在部署时,可能需输入参数。请您结合实际情况输入,如下图所示:

查看合约详情

合约管理页签中,单击合约名称可进入合约详情页。您在此页面中,可查看合约内容、合约地址、合约 abi 和 bin。其中,合约内容支持下载。

合约调用

合约调用详情请参见 FISCO BCOS 相关接口 文档。其中所需的调用参数,可从合约详情中获取。

目录