【2022得捷电子创新设计大赛】 部署区块链智能合约
[复制链接]
【2022得捷电子创新设计大赛】 部署区块链智能合约
FISCO BCOS平台目前支持Solidity及Precompiled两类合约形式。
* Solidity合约与以太坊相同,用Solidity语法实现。
* KVTable合约的读写接口与Table合约的CRUD接口通过在Solidity合约中支持分布式存储预编译合约,可以实现将Solidity合约中数据存储在FISCO BCOS平台AMDB的表结构中,实现合约逻辑与数据的分离。
* 预编译(Precompiled)合约使用C++开发,内置于FISCO BCOS平台,相比于Solidity合约具有更好的性能,其合约接口需要在编译时预先确定,适用于逻辑固定但需要共识的场景,例如群组配置。
这里这里我们就写了一个简单的合约,包括两个接口,一个上传和一个查询接口;
// SPDX-License-Identifier: SimPL-2.0
pragma solidity >0.4.24 <0.6.11;
pragma experimental ABIEncoderV2;
contract EEcontract {
struct Useage {
//时间 time
string time;
// 用量 use_data
string use;
// 设备 device_id
string id;
}
// id+time为key值, 映射时间为key的用量
mapping (string => Useage) deviceData;
function saveDate(string memory time, string memory use, string memory id, string memory key) public {
deviceData[key]=Useage(time, use, id);
}
function getUseByIdtime(string memory key) public view returns(Useage memory){
return deviceData[key];
}
}
1.启动控制台
cd ~/fisco/console && bash start.sh
2.把写好的合约放到对应目录
/fisco/console/contracts/solidity
3.部署合约
deploy EEcontract
4.同时把合约放到web浏览器
上传然后编译即可,这样方便后期看数据;
|