- 博客(16)
- 资源 (11)
- 收藏
- 关注
原创 EOS合约开发第十八章-合约通信编程(2)
合约通信编程一、通信模型和执行流程 EOSIO智能合约可以相互通信,例如让另一个合约执行某些与当前action相关的操作,或触发当前action范围之外的未来交易。EOSIO支持Inline和Deferred两种基本通信模式。Inline通信可以理解为在当前action中执行操作,可视为同步通信,Deferred通信可以理解为触发未来事务操作,可视为异步通信。 1. Inl...
2018-08-07 10:07:59 1136 1
原创 EOS合约开发第十六章-eos db C++ api
eos db C++ apieos db的C++ API在eos标准库中的multi_index实现,该api实际上是boost multi_index容器库的改编版本。在以下的描述中,使用了以下别名: 别名 描述 OBJECT_TYPE multi_index表中的对象类型 secondary_index 多索引表中相应的二级索引类型 构造函数 ...
2018-08-07 10:07:18 425
原创 EOS合约开发第十五章-数据表设计
数据表设计一、概述eos在执行一个action之前,会为该action设置一个干净的运行环境,也就是说每个action是完全独立的环境中运行的,目前在action之间传输数据的唯一方式是持久化数据到eos数据库和从eos数据库读取数据。eos标准库中multi_index api提供了一个访问eos数据库的C++接口,这个API提供了一个对象存储的模型,支持多种检索方式、支持不同排序方...
2018-08-07 10:07:16 742
原创 EOS合约开发第十四章-基础数据类型
基础数据类型eos合约开发使用的c++14语言,c++14定义的基本数据类型eos都支持,但eos在c++14基本数据类型基础上定义了新的数据类型。eos宏N宏N就是将一个字符串编码为一个uint64_t整数,使用eos标准库中的string_to_name完成编码,string_to_name允许的编码字符串最大长度为13个字符,且字符串中字符限制为.12345abcdefghijk...
2018-08-07 10:07:10 1195
原创 EOS合约开发第八章-EOS本地合约入门
EOS本地合约入门一、智能合约入门本教程的目的是演示如何设置可用于实验智能合约的本地区块链。本教程的第一部分将着重于讲述:启动私有区块链 创建一个钱包 加载Bios合约 创建帐户本教程的第二部分将引导您创建和部署自己的合约:eosio.token 合约 Exchange 合约 Hello World 合约本教程假设您已经安装了EOSIO,并且nodeos和cleos...
2018-08-07 10:06:56 695
原创 EOS合约开发第十三章-序列化
EOS对象序列化一、对象的序列化支持EOS需要对外部可访问对象进行序列化和反序列化,在合约调用发起时,需要将请求action的参数(json格式描述)根据abi进行序列化,发送到eos的action请求的参数是序列化的对象,eos收到请求后需要将其反序列化。在eos请求表数据时,需要对表数据进行反序列化并输出到请求的应答中。对象的序列化和反序列化主要应用在请求的解析和请求应答的格式化中...
2018-08-07 10:06:53 1324
原创 EOS合约开发第十二章-合约输出
合约输出合约部署运行在eos节点上,合约的调用是由客户端发起的,合约的调用请求将触发eos节点上部署的合约运行且产生输出,合约的输出作为该请求的应答并返回给合约调用客户端。在hello world合约程序中,我们在客户端调用了合约,合约调用请求在eos节点执行且打印输出作为请求的应答返回给合约调用客户端。eos标准库C打印函数:1. 指定字符串及长度void prints_l(...
2018-08-07 10:06:49 643
原创 EOS合约开发第十一章-合约执行上下文
当前请求执行的上下文环境主要包含以下几类:1. action数据read_action_data获取了action调用的完整数据get_action获取action的方法名称action_data_size获取action调用完整数据的大小2. 上下文free dataget_context_free_data获取action执行请求时指定的free data3. tr...
2018-08-07 10:06:32 991
原创 EOS合约开发第五章-钱包和账户手册
钱包和账户手册一、创建和启动单个节点使用以下命令来启动私有的单节点EOSIO:cd build/programs/nodeos./nodeos -e -p eosio --plugin eosio::wallet_api_plugin --plugin eosio::chain_api_plugin --plugin eosio::account_history_api_plugi...
2018-08-07 10:05:29 1001
原创 EOS合约开发第七章-EOS合约简介
EOS合约简介一、语言 基于EOSIO的块链使用的是WebAssembly (WASM)来执行用户编写的智能合约。WASM是一种新兴的Web标准,广泛支持于谷歌、微软、苹果等。对编写WASM标准的智能合约来说使用clang/llvm和它的C/C++编译器是目前最为成熟的编译工具链。其他的第三方工具链在开发中,包括:Rust, Python, and Solidity。虽然这些语言可...
2018-08-07 10:05:27 677
原创 EOS合约开发第四张-账户和权限
账户和权限一、概述一个账户是一个人可读的,存在区块链上的id。每笔transaction都需要在某个账户所配置的authority下评估permissions。每个被命名的permission都有一个阈值,只有满足后, 签名的transaction才能在authority下被认为有效。Transactions是通过一个加载了已解锁的钱包客户端签名的。钱包是一个保护并使用您的keys的软件。...
2018-08-07 10:05:26 736
原创 EOS合约开发第二章-EOS开发环境构建
EOS开发环境构建一、获取代码从git下载eos项目以及其依赖的子项目:git clone https://github.com/EOSIO/eos --recursive如果下载时没有添加--recursive,可以在下载的eos项目目录下运行以下命令来下载依赖的子项目:git submodule update --init --recursive因为我们需要一个稳定...
2018-08-07 10:04:54 683
原创 EOS合约开发第三章-程序和工具集
程序和工具集一、EOSIO包含以下程序和工具程序:nodeos cleos keosd launcher snapshot工具:Eosiocpp二、nodeosOSIO核心守护进程,可以配置插件来运行一个EOS节点。包含以下可配置项:1. 插件eosio::chain_api_plugin支持chain的RPC API2. 插件eosio::wallet_a...
2018-08-07 10:04:54 710
转载 EOS合约开发第一章-EOS介绍
EOS介绍一、区块链应用的里程碑比特币是目前为止最成功的区块链应用,它通过自己的成功也证明了区块链技术(数字总账)可以被运用在互联网上,来进行不通过任何第三方的安全交易。以太坊在此基础上增加上了智能合约的概念,使得区块链不光可以被应用于发行加密货币及其转账,还可以在此基础之上开发各种应用程序,满足各种不同行业、不同应用场景的需求。二、当前区块链应用的瓶颈虽然比特币网络已经成功运...
2018-08-07 10:04:53 570
原创 EOS合约开发第十九章-集中博彩游戏合约设计
集中博彩游戏合约设计一、功能接口1. 质押deposit由用户发起,用户将个人账户中token质押给平台,从而可以进入平台去参与平台活动。2. 赎回withdraw由用户发起,在用户结束平台活动需要离开时,发起赎回曾质押给平台的token到个人账户。3. 开启一期下注openbet由平台发起,平台启动一期下注,玩家可以参与下注。4. 结束一期下注 closurebe...
2018-08-03 18:16:18 2789
Blockstream改良版侧链白皮书-解除三方操作风险
2018-08-29
MIT计算机图形学课程6.837课件
2018-05-03
MIT人工智能课程6.034课件
2018-05-03
EOS白皮书 一个区块链操作系统
2018-04-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人