`

EOS创建智能合约

    博客分类:
  • EOS
 
阅读更多
1.创建新的公/私钥
xjdeMacBook-Pro:hi xj$ cleos create key --to-console
Private key: 5KLhyM534ZvjJxubEPcZ8pgU9gD8zu4ErxZfhvBVEhsxKv9nbbQ
Public key: EOS7b5YBthLNRuLrk7y2RCHfW1vWB5JGqQVouSMPK7dTpjk4a7veJ

1.5.eosio的私钥也要导入
xjdeMacBook-Pro:cleos xj$ cleos wallet import
private key: imported private key for: EOS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV
xjdeMacBook-Pro:cleos xj$ cleos create account eosio xiangj EOS8Loi1SbeLZnqk9fdZTL2rhjGBsEjnR2VdP7PYJeNNeTFvUeU5R
executed transaction: 605984e6dfe3fab0f839771c096d2f5b36003bcb744c45e94c70e54c99bc4e4a  200 bytes  7637 us
#         eosio <= eosio::newaccount            {"creator":"eosio","name":"xiangj","owner":{"threshold":1,"keys":[{"key":"EOS8Loi1SbeLZnqk9fdZTL2rhj...
warning: transaction executed locally, but may not be confirmed by the network yet         ]

2.将上面的私钥导入钱包
xjdeMacBook-Pro:hi xj$ cleos wallet import
private key: imported private key for: EOS6vzUgGinif3gnw75AH436x7P13rQPb75B2R5zn6wQYYeL98X7f

3.根据公钥创建合约帐号
xjdeMacBook-Pro:hi xj$cleos create account eosio xiangj EOS7b5YBthLNRuLrk7y2RCHfW1vWB5JGqQVouSMPK7dTpjk4a7veJ
executed transaction: 85e2e7c038eba8939176bac1ad62b89475e5b6cb565e3bd0cb49106257e76e44  200 bytes  810 us
#         eosio <= eosio::newaccount            {"creator":"eosio","name":"xiangj","owner":{"threshold":1,"keys":[{"key":"EOS7b5YBthLNRuLrk7y2RCHfW1...
warning: transaction executed locally, but may not be confirmed by the network yet         ]

4.编译代码
#include <eosiolib/eosio.hpp>

using namespace eosio;

class hi : public contract {
  public:
      using contract::contract;

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

EOSIO_DISPATCH( hi, (hello))


xjdeMacBook-Pro:helloworld xj$ eosio-cpp -o hi.wasm hi.cpp --abigen
#eos1.8:eosiocpp -o hi.wasm hi.cpp

Warning, empty ricardian clause file
Warning, empty ricardian clause file
Warning, action <hello> does not have a ricardian contract

5.创建合约
xjdeMacBook-Pro:hi xj$ cleos create account eosio hi EOS5ZyWiAYkSo4xhwiAzUhKaSs6coMrQ1nHbpKBprwrQPeZEy9wnU -p eosio@active
executed transaction: 8ecb0c2e061b9f41d3dbe19d784466f2d149d0bc4ba8c507f87308a0aed2048c  200 bytes  854 us
#         eosio <= eosio::newaccount            {"creator":"eosio","name":"hi","owner":{"threshold":1,"keys":[{"key":"EOS5ZyWiAYkSo4xhwiAzUhKaSs6coM...
warning: transaction executed locally, but may not be confirmed by the network yet

6.部署合约
xjdeMacBook-Pro:helloworld xj$cleos set contract hi /Users/xj/code/eos/build/programs/cleos/hi -p hi@active
Reading WASM from /Users/xj/code/eos/build/programs/cleos/hi/hi.wasm...
Publishing contract...
executed transaction: 4317b908267fd4d4b67d6f870f1fba5e825425c3aad8820692386429da316c2d  1440 bytes  1291 us
#         eosio <= eosio::setcode               {"account":"hi","vmtype":0,"vmversion":0,"code":"0061736d0100000001390b60027f7e006000017f60027f7f017...
#         eosio <= eosio::setabi                {"account":"hi","abi":"0e656f73696f3a3a6162692f312e3100010568656c6c6f00010475736572046e616d650100000...
warning: transaction executed locally, but may not be confirmed by the network yet         ]

7.调用合约
xjdeMacBook-Pro:helloworld xj$cleos push action hi hello '["xiangj"]' -p xiangj@active
executed transaction: 2a76833bd8a8373d0b51be07d15e416827b6d48a270e43b1d42a2d908fe31115  104 bytes  509 us
#            hi <= hi::hello                    {"user":"xiangj"}
warning: transaction executed locally, but may not be confirmed by the network yet

8.nodeos控制台查看输出:nodeos --contracts-console
分享到:
评论

相关推荐

    EOS智能合约开发详细教程

    EOS智能合约开发是一项涉及到区块链技术、合约编写和执行的技术,它允许开发者在EOS平台上创建和部署智能合约,为去中心化应用(DAPP)提供运行的基础。本文将详细探讨EOS智能合约开发的相关知识点。 首先,EOS智能...

    cpp-eos3dio和eosdayioEOS智能合约

    【标题】"cpp-eos3dio和eosdayioEOS智能合约"涉及的是使用C++语言在EOS区块链平台上开发...通过深入学习和实践以上知识点,开发者可以有效地创建和管理cpp-eos3dio和eosdayio这样的EOS智能合约,为用户提供可靠的服务。

    EOS 实现完整代码 eos-master.zip

    通过深入研究这些源代码,开发者可以学习如何创建自己的EOS节点、编写智能合约、管理资源、实现跨合约交互以及如何参与网络治理。对于想要涉足公链开发的人来说,这是一个宝贵的教育资源,可以提升对区块链技术的...

    eoscrud:EOS智能合约,将创建,读取,更新和销毁记录。 欺诈

    这是一个EOS智能合约的最小例子,它将做4件简单的事情。 创建,读取,更新和销毁。 该合同基本上是一个简单的数据库,没有任何强大的功能。 每个“记录”都包含一个id , user和一个字符串data 。 设置 此步骤需要您...

    EOS6程序员教程案例代码

    EOS6,全称为Enterprise Operating System 6,是针对企业级应用开发的一款强大操作系统,特别适用于区块链技术中的智能合约编写。本教程旨在通过具体的案例代码,帮助开发者深入理解EOS6编程的核心概念、语法结构...

    EOS程序员教程及实例

    - EOSIO.CPP:深入学习EOS的C++智能合约开发环境,包括EOSIO SDK和相关工具。 3. EOS开发工具 - EOS.IO软件开发工具包(SDK):熟悉EOS.IO SDK提供的各种库和API,以便于开发DApps。 - EOS钱包和命令行工具:如...

    eos-new-table:生成EOS C ++智能合约以在区块链上创建表

    生成EOS C ++智能合约以在区块链上创建表。 安装 通过以下方式全局安装: npm i -g eos-new-table 用法 选项 $ eos-new-table Generate EOS C++ smart contract to create a table on the blockchain. Options: -...

    EOS应用框架使用手册

    EOS应用框架是开发人员在EOS网络上构建应用程序的基础,它提供了丰富的工具和接口,使得开发者能够更便捷地创建智能合约和前端应用。 ### 一、EOS应用框架基础 1. **智能合约**:EOS应用框架的核心是智能合约,它...

    《EOS RichWeb开发指南》

    6. 构建DApps:详细步骤和最佳实践,指导开发者如何从零开始创建一个完整的EOS DApp,包括前端交互和后端智能合约。 7. 测试和部署:介绍本地测试网、主网部署策略,以及如何进行应用测试和错误调试。 8. 部署后的...

    eos培训资料

    在EOS中,数据存储通过智能合约实现,开发者需要了解如何创建、修改和删除表。这涉及到EOS的数据结构、abi(Application Binary Interface)文件的生成以及如何通过EOS CLI工具进行交互。 三、多表关联 多表关联是...

    EOS6 RichWeb开发指南 ,介绍EOS6的相关文档,欢迎下载!

    EOS6在智能合约层面进行了优化,支持更复杂的逻辑和交互。开发者可以通过EOSIO智能合约语言如EOSIO.CPP或EOSIO.SWIFT编写合约,实现更丰富的业务逻辑和用户交互。 **4. Web开发工具** 为了支持RichWeb开发,EOS6...

    eos开发中的联合主键使用

    1. **定义合约结构**:在EOS智能合约中,我们需要定义一个结构体来表示数据实体,其中包含联合主键的字段。例如: ```cpp struct Account { name username; uint8_t account_type; // 其他字段... EOSLIB_...

    EOS_Platform_7.0基础开发教程

    智能合约是EOS平台的核心组成部分,教程将详细解释如何使用EOSIO的C++智能合约语言编写、编译和部署智能合约。此外,还将涵盖EOS的ABI(Application Binary Interface)和JSON-RPC API,这些都是与智能合约交互的...

    EOS6 Report参考手册 ,介绍EOS6的相关文档,欢迎下载!

    1. **智能合约语言**:EOS6支持基于WebAssembly(WASM)的智能合约,开发者可以使用C++或其他支持WASM的语言(如Solidity)编写合约。 2. **合约生命周期管理**:合约的创建、部署、更新和撤销都有明确的流程,确保...

    EOS_Platform_7.0扩展开发教程

    教程会详细讲解如何创建、测试和部署智能合约。 5. **账户与权限管理**:EOS的账户系统具有复杂的权限管理机制,允许精细控制不同操作的访问权限。开发者需要掌握如何设置和管理账户权限。 6. **资源管理**:在EOS...

    EOS6 EOS管理员手册 ,介绍EOS6的相关文档,欢迎下载!

    EOS6 的架构基于模块化设计,包括节点软件、智能合约语言、网络通信协议等关键组件。其核心是EOS.IO软件,它提供了一个高性能的区块链框架,能够处理高并发交易并实现秒级确认。 2. **共识机制 - DPOS** EOS6 ...

    eos-contracts:Eos合约演示

    合约在EOS生态系统中起着至关重要的作用,它们是智能合约的实现,允许用户在区块链上执行预定的操作和逻辑。本示例将重点介绍两个EOS合约的演示:`more.moment` 和 `more.voting`。 1. **more.moment合约** `more....

    EOS错误代码集

    在区块链开发领域,EOS作为一种新兴的高性能区块链平台,其智能合约和链上操作涉及到大量的技术细节和状态检查。为了确保操作的正确性,EOS提供了丰富的错误代码以帮助开发者识别和定位问题。本文集整理了EOS区块链...

    EOS6 基础构件库参考手册,介绍EOS6的相关文档,欢迎下载!

    EOS6 支持基于WebAssembly(WASM)的智能合约,这使得开发者可以使用多种高级编程语言(如C++、Solidity等)编写合约。智能合约在EOS6上执行,它们定义了账户之间的交互规则,确保了交易的透明度和不可篡改性。 **4...

    EOS开发入门体验1

    本文将带你初探EOS的开发环境搭建、钱包创建、智能合约部署等基础步骤。 首先,为了开始EOS的开发,我们需要安装EOSIO SDK,这包含了编译智能合约所需的工具链。EOSIO SDK提供了Dawn版本,例如Dawn 4.2,这是一个...

Global site tag (gtag.js) - Google Analytics