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

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

交易所开发如何编写智能合约代码(国王小组)
编写合约
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);
  }

};

相关文章
|
11月前
|
机器人 API 区块链
秒合约期权交易所系统技术开发/Python语言编写
秒合约期权交易所系统技术开发/Python语言编写
|
11月前
|
安全 区块链 数据安全/隐私保护
迪斯卡(Disca)众筹质押挖矿系统项目开发/Solidity编写
迪斯卡(Disca)众筹质押挖矿系统项目开发/Solidity编写
|
11月前
|
区块链
区块链互助公排合约系统开发|三三复制合约系统开发
智能合约作为Web3下的核心概念,具有巨大的潜力和应用前景
|
数据管理 区块链
DAPP智能合约/泰山众筹/互助公排模式系统开发合约源代码详情
def tfs(contract, token_name, user_address, amount): # 检查用户是否有足够的代币 balance = contract.functions.balanceOf(token_name, user_address).call()
|
区块链 数据安全/隐私保护 Python
DAPP燃烧铸造币合约项目系统开发|模式案例
“Web3.0”是对“Web2.0”的改进,其利用区块链技术去中心化的特点和优势显而易见
|
数据挖掘 区块链
(币安/okex)交易所搬砖套利软件开发源码规则解析
(币安/okex)交易所搬砖套利软件开发源码规则解析
|
消息中间件 SQL 网络协议
国王小组:开发数字货币交易所源码搭建数据反馈处理器如何设置
DAPP交易所系统开发(开发案例)丨DAPP交易所系统开发(源码及方案) 交易所开发成品丨交易所系统开发(演示版)丨交易所APP源码设计 区块链交易所开发详细丨区块链交易所系统开发(开发方案)丨区块链交易所源码案例部署 Uniswap交易所开发稳定版丨Uniswap交易所系统开发(开发模板)丨Uniswap交易所系统源码案例部署 数字货币交易所开发详情版丨数字货币交易所系统开发(web3.0技术开发)丨数字货币交易所开发源码成品 交易所APP开发功能丨交易所系统开发(成熟及案例)丨交易所系统源码平台 DAPP交易所系统开发(开发案例)丨DAPP交易所系统开发(源码及方案)
国王小组:开发数字货币交易所源码搭建数据反馈处理器如何设置
|
自然语言处理 算法 Java
国王小组:开发交易所源码需要用到的开源框架
区块链交易所开发详细丨区块链交易所系统开发(开发方案)丨区块链交易所源码案例部署 Uniswap交易所开发稳定版丨Uniswap交易所系统开发(开发模板)丨Uniswap交易所系统源码案例部署 数字货币交易所开发详情版丨数字货币交易所系统开发(web3.0技术开发)丨数字货币交易所开发源码成品 交易所APP开发功能丨交易所系统开发(成熟及案例)丨交易所系统源码平台 DAPP交易所系统开发(开发案例)丨DAPP交易所系统开发(源码及方案)
国王小组:开发交易所源码需要用到的开源框架
|
运维 监控 安全
秒合约交易所系统开发搭建,需要注意以下几点(国王小组)
秒合约交易所系统开发搭建,需要注意以下几点(国王小组)
|
前端开发 测试技术 区块链
秒合约交易所开发,分别的几个阶段(国王小组)
秒合约交易所开发,分别的几个阶段(国王小组)