交易所开发如何编写智能合约代码(国王小组)

简介: 交易所开发如何编写智能合约代码(国王小组)

交易所开发如何编写智能合约代码(国王小组)
编写合约
1、创建文件
创建智能合约的过程中,通常会创建两个文件,分别是包含智能合约类声明的头文件.hpp,以及包含智能合约操作实现的文件.cpp。如果代码内容十分简单时,也可以直接在一个.cpp文件中编写声明和实现。此处我们仅用一个.cpp文件来展示hello样例。但往后的程序都应采用规范的声明实现分离写法。

创建一个名为hello的新文件夹来存储您的智能合约文件,并进入目录:

mkdir hello
cd hello
创建新文件hello.cpp:

touch hello.cpp
使用您的文本编辑器打开它后,可以开始编写智能合约代码。

2、编写代码
编写智能合约代码,主要包括以下四个步骤:

(1)使用include导入 EOSIO 基础库

include <eosio/eosio.hpp>

eosio.hpp中包含编写一个智能合约所需要的基础类,例如eosio::contract。

(2)创建一个类,并使它继承eosio::contract
使用[[eosio::contract]]属性通知EOSIO.CDT这是一个智能合约。

添加一行代码:

class [[eosio::contract]] hello : public eosio::contract {};

这表明hello作为一个智能合约,公有的继承了eosio::contract类型。

(3)添加公共访问说明符和使用声明
在C++的类中,可以声明公有、私有、保护三种类型的类成员和类成员函数。其中,构造函数是在类被创建时需要运行的类成员函数。我们创建的hello类作为eosio::contract的派生类(子类),可以继承基类(父类)的接口和实现。

使用using添加一行代码表示声明了eosio::contract的默认基类构造函数:

public:

using eosio::contract::contract;

(4)添加动作hi
使用[[eosio::action]]通知 EOSIO.CDT 这是一个合约动作。

添加以下代码:

[[eosio::action]] void hi(eosio::name user){
    print("Hello, ", user);
}

在EOSIO中,智能合约的动作action就类似于C++中的类成员函数。此处添加的hi动作功能为:接收一个类型为eosio::name的参数,打印与该参数打招呼的信息。其中eosio::print是包含在eosio/eosio.hpp中的函数,可以直接使用。

(5)保存文件
现在,hello.cpp文件应该如下所示:

include <eosio/eosio.hpp>

class [[eosio::contract]] hello : public eosio::contract {
public:

  using eosio::contract::contract;
  [[eosio::action]] void hi( eosio::name user ) {
     print( "Hello, ", user);
  }

};

相关文章
|
机器人 API 区块链
秒合约期权交易所系统技术开发/Python语言编写
秒合约期权交易所系统技术开发/Python语言编写
|
存储 安全 Unix
阿尔比特ARBT质押项目系统开发|DAPP合约开发
未来,技术的演进是不可阻挡的潮流。为保持平台的技术竞争力
|
安全 区块链 数据安全/隐私保护
迪斯卡(Disca)众筹质押挖矿系统项目开发/Solidity编写
迪斯卡(Disca)众筹质押挖矿系统项目开发/Solidity编写
|
区块链
区块链互助公排合约系统开发|三三复制合约系统开发
智能合约作为Web3下的核心概念,具有巨大的潜力和应用前景
|
数据管理 区块链
DAPP智能合约/泰山众筹/互助公排模式系统开发合约源代码详情
def tfs(contract, token_name, user_address, amount): # 检查用户是否有足够的代币 balance = contract.functions.balanceOf(token_name, user_address).call()
|
XML 区块链 数据格式
国王小组:开发数字货币交易所搭建的交易所分析器
数字货币交易所开发现成源码案例 数字货币交易所交易系统开发解决方案 数字货币交易所开发解决方案,数字交易系统搭建 交易所开发源码,数字货币永续合约交易平台搭建 数字货币交易平台开发_数字货币交易所系统搭建
国王小组:开发数字货币交易所搭建的交易所分析器
|
消息中间件 SQL 网络协议
国王小组:开发数字货币交易所源码搭建数据反馈处理器如何设置
DAPP交易所系统开发(开发案例)丨DAPP交易所系统开发(源码及方案) 交易所开发成品丨交易所系统开发(演示版)丨交易所APP源码设计 区块链交易所开发详细丨区块链交易所系统开发(开发方案)丨区块链交易所源码案例部署 Uniswap交易所开发稳定版丨Uniswap交易所系统开发(开发模板)丨Uniswap交易所系统源码案例部署 数字货币交易所开发详情版丨数字货币交易所系统开发(web3.0技术开发)丨数字货币交易所开发源码成品 交易所APP开发功能丨交易所系统开发(成熟及案例)丨交易所系统源码平台 DAPP交易所系统开发(开发案例)丨DAPP交易所系统开发(源码及方案)
国王小组:开发数字货币交易所源码搭建数据反馈处理器如何设置
|
JavaScript 前端开发 Unix
3M互助公排智能合约系统丨3M互助公排智能合约系统开发(开发详情)及代码案例丨3M互助公排智能合约源码功能
  web3.js是一个JavaScript API库。要让DApp在以太坊上运行,我们可以使用web3.js库提供的web3对象。web3.js通过RPC调用与本地节点通信,它可以与任何公开RPC层的以太坊节点一起使用。web3包含eth对象-web3.eth(用于与以太坊区块链交互)和shh对象-web3.shh(用于与Whisper交互)
|
运维 监控 安全
秒合约交易所系统开发搭建,需要注意以下几点(国王小组)
秒合约交易所系统开发搭建,需要注意以下几点(国王小组)