中移链合约常用开发介绍(四)工程树目录

01

目的

本文档介绍了工程化开发智能合约项目的工程树目录,介绍了各个文件夹及文件的含义和用途。本文档将沿用之前文章中实现的地址簿合约内容,以初始化项目为例展开介绍,适合刚接触合约开发的开发人员用来了解智能合约项目,帮助其快速了解以及上手智能合约。

02

智能合约介绍

区块链作为一种分布式可信计算平台,去中心化是其最本质的特征。每笔交易的记录不可篡改地存储在区块链上。智能合约中定义可以在区块链上执行的动作action和交易transaction的代码。可以在区块链上执行,并将合约执行状态作为该区块链实例不可变历史的一部分。

因此,开发人员可以依赖该区块链作为可信计算环境,其中智能合约的输入、执行和结果都是独立的,不受外部影响。

03

术语解释

WebAssembly(WASM)

用于执行可移植二进制代码格式的虚拟机,托管在nodeos中。

应用程序二进制接口(ABI)

定义如何将数据编组进出WebAssembly虚拟机的接口。

CMake

CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。它能够输出各种各样的makefile或者project文件,能测试编译器所支持的C++特性,组态档取名为CMakeLists.txt。熟悉某个集成开发环境(IDE)的开发者可以通过CMake用标准的方式建构软件。

04

目录树详解

(一)综述

中移链合约常用开发介绍(二)多索引表的使用一文中,介绍了如何在智能合约中编写代码使用多索引表,完成一个可以增删改查的地址簿合约。该合约通过一个addressbook.cpp文件完成了所有代码,并不符合工程化开发的要求。

在本文中,我们将以工程化开发的方式重写这一合约,方便介绍各目录的含义和用途。

首先依旧是使用eosio-init命令创建addressbook项目。


eosio-init --path=. --project=addressbook

初次被创建的项目结构如下:


├── CMakeLists.txt c++编译描述文件
├── README.txt 引导文件
├── include
│   └── addressbook.hpp 项目头文件,包含表结构定义和接口定义
├── ricardian
│   └── addressbook.contracts.md 李嘉图合约,合约的数字文档
└── src
    ├── CMakeLists.txt c++编译描述文件
    └── addressbook.cpp 项目源文件,包含接口实现

(二ÿ

中移需要进行性能测试的原因有以下几点: 1. 评估系统的可扩展性:性能测试可以帮助评估中移在处理大规模用户和交易时的可扩展性。通过模拟并发用户和高负载情况,可以了解中移在实际使用中是否能够满足不断增长的需求。 2. 发现系统瓶颈和性能问题:性能测试可以帮助发现中移系统中的性能瓶颈和问题,例如延迟过高、吞吐量不足等。通过测试,可以识别和解决影响系统性能的因素,以提高中移的整体性能和效率。 3. 优化系统配置和资源分配:通过性能测试,可以了解中移在不同配置和资源分配下的性能表现。根据测试结果,可以优化系统的配置参数,合理分配资源,以获得更好的性能和效果。 4. 提高用户体验和满意度:性能测试可以确保中移在大规模用户同时使用时仍能提供良好的用户体验。通过测试,可以确保系统的响应时间合理,并且不会因为负载增加而导致系统崩溃或性能下降,从而提高用户的满意度和信任度。 5. 确保系统的稳定性和可靠性:性能测试可以帮助评估中移在正常负载和高峰负载情况下的稳定性。通过测试,可以发现和解决潜在的系统故障和性能问题,从而确保中移在实际使用中的稳定性和可靠性。 综上所述,中移进行性能测试是为了评估系统的可扩展性、发现问题和瓶颈、优化配置和资源分配、提高用户体验和满意度,以及确保系统的稳定性和可靠性。性能测试是中移开发和部署过程中非常重要的一环,可以帮助提升系统的性能和效果,满足用户的需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值