操作场景
Solidity 是一种语法与 JavaScript 相似的静态类型高级语言,同时支持继承、库、复杂的用户自定义类型以及其他功能。关于 Solidity 语法,请前往 Solidity 官网 进一步了解。
FISCO BCOS 集成了 EVM 虚拟机,用户可以使用 Solidity 语言在 FISCO BCOS 平台上开发智能合约。
基本概念
群组
一条链可以有多个群组,节点可以加入不同的群组,群组之间的区块交易信息、共识相互独立。
私钥
私钥是用户在链中的账户,有了私钥才能参与链上的交易。
智能合约
智能合约概念于1995年由 Nick Szabo 首次提出,指以数字形式定义的能自动执行条款的合约。数字形式意味着合约必须用计算机代码实现,因为只要参与方达成协定,智能合约建立的权利和义务,就会被自动执行,且结果不能被否认。
前提条件
操作步骤
搭建开发环境
Remix 简介
您可使用 Remix 尝试 Solidity 编程。Remix 是一个基于 Web 浏览器的 IDE,用户可以使用它编写 Solidity 智能合约,然后部署并运行该智能合约。nRemix 集成了编译器和 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进行函数部署。如下图所示: n
n即可在控制台查看返回结果。如下图所示: n


4. 展开右侧导航栏的 “Deployed Contracts” 的返回项,在update右侧输入入参,并单击update。如下图所示: n
n即可在控制台查看返回结果。

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

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

说明
您也可以导入个人私钥。私钥导入支持 txt、pem 和 p12 格式。
上传智能合约
1. 在区块链网络概览页面,选择合约管理页面并单击新增合约。
2. 在弹出的“新增合约”窗口中,单击选择文件并上传 solidity 合约。如下图所示:
注意
请上传以
.sol
为后缀、不超过4MB且文件中不包含中文的合约文件。合约名称需和合约内容的 contract 对象名一致,否则会编译失败。
文件名即为合约名。


编译智能合约
1. 在合约管理页签中看到已成功上传的合约。
2. 单击合约所在行右侧的编译,并在弹出窗口中确认后即可编译合约。
部署智能合约
1. 在合约管理页签中,完成编译的合约所在行右侧有部署选项。
2. 在弹出的“部署合约”窗口中,选择私钥并单击保存。如下图所示: n
n部分合约在部署时,可能需输入参数。请您结合实际情况输入,如下图所示: n


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