logo资料库

EOS智能合约开发详细教程.pdf

第1页 / 共333页
第2页 / 共333页
第3页 / 共333页
第4页 / 共333页
第5页 / 共333页
第6页 / 共333页
第7页 / 共333页
第8页 / 共333页
资料共333页,剩余部分请下载后查看
EOS智能合约开发
作者:币乎-松果
原文链接:
整理:杯子(qq:33130343)
注:本教程整理自币乎松果的文章,本人只是因在学习过程中习惯于纸质书,故将其整理打印出来,并分享给需要
【系列】EOS智能合约开发02 - 下载EOS源码
操作系统
注意:
【系列】EOS智能合约开发03 - 构建EOS
构建EOS
【系列】EOS智能合约开发04 - 搭建本地运行环境
注意:
构建EOS
附:手动安装依赖项的命令
使用命令
【系列】EOS智能合约开发05 - nodeos启动单节点测试网络
注意:
单节点测试网络(Single Node Testnet)
config.ini
【系列】EOS智能合约开发06 - cleos wallet 创建钱包
programs目录下的可执行文件
启动EOS区块链
【系列】EOS智能合约开发07 - 第一个智能合约:Welcome to EOS !
【系列】EOS智能合约开发08 - 详解 nodeos & cleos
【系列】EOS智能合约开发09 - 多节点测试网络的搭建
【系列】EOS智能合约开发10 - 详解 keosd
【系列】EOS智能合约开发12 - 账户、密钥、钱包、权限,它们之间是什么关系?
【系列】EOS智能合约开发13 - 详解EOS智能合约
Action 和 Transaction
智能合约的文件
【系列】EOS智能合约开发14 - 使用CLion开发EOS智能合约
安装 CLion
【系列】EOS智能合约开发15 - 必要的基础知识:Make和CMake(上篇)
Makefile的规则
【系列】EOS智能合约开发16 - 必要的基础知识:Make和CMake(下篇)
【系列】EOS智能合约开发17 - EOS主项目是如何构建的?详解eosio_build.sh
什么是Shell脚本?
Shell流程控制
【系列】EOS智能合约开发18 - EOS主项目是如何构建的?详解eosio_build.sh(续
Shell包含外部文件
【系列】EOS智能合约开发19 - 详解 eosio_build_ubuntu.sh
【系列】EOS智能合约开发20 - EOS是如何通过CMake构建的?
【系列】EOS智能合约开发21 - 使用CLion,从零开发一个货币智能合约
建立项目目录
【系列】EOS智能合约开发22 - EOS主项目目录结构分析 & 如何学习EOS智能合约
【系列】EOS智能合约开发23 - EOS区块的数据结构
【系列】EOS智能合约开发24 - 详解ABI
什么是ABI?
eosiolib库
【系列】EOS智能合约开发26 - 使用EOS.IO开发文档配合学习
学习方法
【系列】EOS智能合约开发27 - 使用eosjs,开发你的第一个DAPP
Welcome to EOS Again !
EOS智能合约开发28 - EOS合约的账户源码分析,详解account.h & account.
account.hpp
【系列】EOS智能合约开发29 - 如何导入eos主项目到CLion
导入eos主项目到CLion
【系列】EOS智能合约开发30 - 智能合约的基类:contract.hpp
基本概念回顾
【系列】EOS智能合约开发31 - 使用数据库的智能合约实例
【系列】EOS智能合约开发32 - 详解Multi-Index(上)
Multi-Index API 概述
【系列】EOS智能合约开发33 - 详解Multi-Index(下)
类模板
【系列】EOS智能合约开发34 - EOS开发命令阶段性总结
环境部署
【系列】EOS智能合约开发35 - Transaction数据结构 & transaction.h
【系列】EOS智能合约开发36 - 详解transaction.hpp
【系列】EOS智能合约开发37 - EOS权限操作相关的命令
查看
设置
添加
删除
【系列】EOS智能合约开发38 - 升级gcc编译器
升级gcc编译器
【系列】EOS智能合约开发39 - 解决EOS构建过程中的Boost库问题
解决
【系列】EOS智能合约开发40 - 升级gcc编译器(更好的方法)
升级
【系列】EOS智能合约开发41 - 如何连接到EOS主网 & 注册EOS账号?
EO
更新
如何
注册
【系列】EOS智能合约开发42 - 使用 Eclipse CDT
使用
【系列】EOS智能合约开发43 - 智能合约的调试方法
配置
Ca
Pr
使用
测试
【系列】EOS智能合约开发44 - cleos命令全解
cl
cl
ve
create
ge
se
tr
ne
wa
si
pu
mu
sy
在主网使用cleos
【系列】EOS智能合约开发45 - HTTP API全解
配置
HT
访问
EOS DAPP开发01 - 使用JavaScript调用EOS RPC接口
创建
编写代码
启动应用
EOS DAPP开发02 - Scatter插件
什么是Scatter?
安装
Id
Pe
使用
EOS DAPP开发03 - 搭建EOS区块浏览器
搭建
源代
EOS 智能合约开发 作者:币乎-松果 原文链接:https://bihu.com/article/293974 整理:杯子(qq:33130343) 注:本教程整理自币乎松果的文章,本人只是因在学习过程中习 惯于纸质书,故将其整理打印出来,并分享给需要的朋友。版权 归原作者所有。如文章作者有出版的意向或者觉得我整理的文章 不宜公开传播,请告知,本人将撤下! 版权归币呼-松果所有,原文链接:https://bihu.com/article/293974 1
【系列】EOS 智能合约开发 01 - 编程语言 这 篇 文 章 会 开 辟 一 个 新 的 系 列 : EO S 智 能 合 约 开 发 。 学 习 区 块 链 技 术 ,主 要 学 好 3 条 公 链 就 足 够 了 ,就 是 比 特 币 、以 太 坊 、 EO S , 因 为 他 们 分 别 是 区 块 链 1.0 、 2.0 、 3.0 的 代 表 。 学 习 比 特 币 ,让 我 们 知 道 区 块 链 的 技 术 原 理 ;学 习 以 太 坊 ,让 我 们 学 会 怎 么 运 用 智 能 合 约 和 DAPP ; 学 习 EO S , 让 我 们 把 区 块 链 应 用 到 各 行 各 业 。 学 习 EOS 的 第 一 篇 , 我 们 将 学 习 一 些 基 础 知 识 , 那 就 开 始 吧 ~ 智 能 合 约 编 程 语 言 不 同 于 以 太 坊 智 能 合 约 开 发 使 用 的 Soli dity 语 言 , EOS 使 用 的 编 程 语 言 是 C++ 。   Soli dity 是 一 门 新 的 编 程 语 言 , 是 以 太 坊 团 队 发 明 的 ; C++ 是 一 门 古 老 的 编 程 语 言 , 有 很 多 现 成 的 开 发 者 。 从 以 太 坊 和 EOS 智 能 合 约 开 发 的 主 要 编 程 语 言 比 较 , C++ 虽 然 有 现 成 的 开 发 者 ,但 是 学 习 难 度 比 较 大 ;Sol idity 是 一 门 新 语 言 , 但 学 习 起 来 更 简 单 。 版权归币呼-松果所有,原文链接:https://bihu.com/article/293974 2
因 此 , 对 于 编 程 小 白 , 学 习 以 太 坊 更 合 适 ; 对 于 有 经 验 的 C++ 开 发 者 , 学 习 EOS 更 容 易 。 WebAssembly EOS 使 用 WebAssembly ( WASM ) 执 行 用 户 生 成 的 应 用 程 序 和 代 码 , 作 为 对 比 , 以 太 坊 使 用 的 是 Java Sc ri pt ( 具 体 是 Web3 .js ) 。 在 了 解 WebAssemb ly 之 前 , 我 们 要 先 了 解 JavaScript 。 Java Sc ri pt ( 简 称 JS ) 是 一 种 网 页 编 程 脚 本 语 言 , 实 际 上 , 我 们 现 在 浏 览 的 网 页 , 时 时 刻 刻 都 在 使 用 着 JavaScript 。 JS 和 HTM L 、 CSS 一 起 构 成 了 我 们 看 到 的 网 页 。 下 面 这 张 图 , 清 晰 地 表 示 了 HTML/C SS/J S 在 网 页 中 的 职 责 : 版权归币呼-松果所有,原文链接:https://bihu.com/article/293974 3
   HTML 是 结 构 ; CSS 是 表 现 ; JS 是 行 为 。 说 回 WebAssemb ly , 它 是 一 种 新 的 字 节 码 格 式 , 缩 写 是 ".wasm" , 是 一 种 新 的 底 层 安 全 的 二 进 制 语 法 。 要 说 WebAssemb ly 的 技 术 原 理 就 太 复 杂 了 , 一 句 话 解 释 WebAssemb ly 的 作 用 就 是 : 让 C/C++ 代 码 在 浏 览 器 中 运 行 。 C/C ++ , 还 有 其 他 更 多 的 编 程 语 言 , 比 如 Java , 都 属 于 编 译 型 语 言 。而 浏 览 器 是 无 法 运 行 编 译 型 语 言 的 ,只 能 运 行 另 一 类 编 程 语 言 — — 解 释 型 语 言 。 编 译 型 语 言 , 是 把 源 代 码 先 编 译 为 机 器 码 ( 也 就 是 可 执 行 程 序 , 比 如 .exe 文 件 ) , 运 行 时 只 需 要 把 机 器 码 版权归币呼-松果所有,原文链接:https://bihu.com/article/293974 4
交 给 CPU 执 行 即 可 。 编 译 型 语 言 的 特 点 是 : 运 行 速 度 快 , 效 率 高 。 缺 点 是 可 移 植 性 差 。 解 释 型 语 言 , 直 接 以 源 代 码 的 形 式 出 现 , 运 行 时 再 解 析 为 机 器 码 并 执 行 。 所 有 的 脚 本 语 言 ( 比 如 JavaScript )都 是 解 释 型 语 言 。解 释 型 语 言 的 特 点 是 , 不 能 独 立 存 在 , 必 须 寄 生 在 其 他 程 序 ( 比 如 浏 览 器 ) 内 。 EOS 智 能 合 约 使 用 的 编 程 语 言 是 C/C ++ , 开 发 出 来 的 DAPP 主 要 是 网 页 端 的 应 用 , 需 要 在 浏 览 器 中 运 行 , 这 就 需 要 WebAssemb ly 的 帮 助 。 到 这 里 ,我 们 明 白 了 WebAssembly ,它 就 像 是 一 个 编 译 器 ,让 浏 览 器 能 看 懂 C/C++ 代 码 。 版权归币呼-松果所有,原文链接:https://bihu.com/article/293974 5
【系列】EOS 智能合约开发 02 - 下载 EOS 源码 操 作 系 统 EOS 开 发 , 需 要 使 用 Linux 或 者 MacO S 操 作 系 统 。 目 前 不 支 持 在 Windo ws 上 开 发 EOS ,但 也 有 大 神 解 决 了 这 个 问 题 : 在 Windo ws 上 安 装 运 行 EOS 。 但 上 面 这 种 方 式 ,技 术 门 槛 比 较 高 ,有 没 有 简 单 一 点 的 ,又 可 以 在 Windows 上 运 行 EOS 的 方 法 ? 有 的 ,可 以 在 Window s 上 安 装 虚 拟 机 ,在 虚 拟 机 里 运 行 Ubunt u 系 统 。 这 篇 文 章 详 细 介 绍 了 , 如 何 通 过 虚 拟 机 安 装 Ubuntu 。 ( 使 用 Lin ux 或 MacOS 系 统 的 同 学 可 自 行 略 过 ) 虚 拟 机 安 装 Ubuntu17. 04 按 照 这 个 教 程 , 我 成 功 安 装 好 了 Ubuntu , 不 过 我 安 装 的 是 “ 优 麒 麟 16.04 LTS( 长 期 支 持 )版 本 ”这 个 版 本 ,因 为 Ubuntu 17. 0 4 版 经 我 测 试 , 有 一 些 问 题 。 安 装 Git 版权归币呼-松果所有,原文链接:https://bihu.com/article/293974 6
EOS 的 项 目 代 码 是 在 托 管 在 Github 上 的 ,可 以 通 过 git 克 隆 到 自 己 的 电 脑 上 。 Git 是 一 个 开 源 的 分 布 式 版 本 控 制 系 统 , 可 以 有 效 、 高 速 的 处 理 从 很 小 到 非 常 大 的 项 目 版 本 管 理 。 在 Lin ux 上 安 装 Git 非 常 简 单 , 只 需 要 在 命 令 行 中 输 入 : s u d o a p t i n s t a l l g i t 注 意 : EOS 已 经 更 新 了 最 新 版 本 的 项 目 代 码( DAWN 3.0 ),推 荐 直 接 通 过 g i t c l o n e h t t p s : / / g i t h u b . c o m / e o s i o / e o s - - r e c u r s i v e 克 隆 代 码 , 而 不 是 本 文 中 的 方 式 。 下 载 EOS 主 项 目 代 码 在 命 令 行 输 入 克 隆 ( clone ) 命 令 : g i t c l o n e h t t p s : / / g i t h u b . c o m / E O S I O / e o s . g i t - b D A W N - 2 0 1 8 - 0 2 - 1 4 - - r e c u r s i v e 这 里 有 两 点 要 注 意 的 : 版权归币呼-松果所有,原文链接:https://bihu.com/article/293974 7
  需 要 加 上 “ -b DAWN-20 18-02- 14 ” 参 数 指 明 版 本 , 否 则 连 接 上 测 试 网 络 后 无 法 完 全 同 步 区 块 ; 需 要 加 上 “ --rec ursive ” 参 数 , 否 则 无 法 下 载 关 联 的 子 项 目 。 看 到 下 图 所 示 , 就 表 示 开 始 下 载 了 : 下 载 需 要 一 些 时 间 ,下 载 完 成 后 ,就 可 以 看 到 eos 项 目 的 目 录 结 构 了 。 版权归币呼-松果所有,原文链接:https://bihu.com/article/293974 8
分享到:
收藏