zoukankan      html  css  js  c++  java
  • eos

    token pocket钱包/whaleex eos交易所 --note
    eos 是一款区块链操作系统,并行链-bft-dpos 解决延迟和数据吞吐BTC 7tps, eos 百万tps
    eos 账号 ram(在区块链上存储数据,向系统购买链上购买,抵押eos到系统账户),cpu(运算时间消耗(ms)),带宽(衡量三天内合约执行产生的数据量(byte)) --note
    因此用以转账都用一个eos账号,以tag,memo区分资金来源
    文档:https://eos.readthedocs.io/zh_CN/latest/

    15/21 投票产生超级节点, 45s/15次 确认 21个生产者轮流出块(只能在一个区块生产),21个区块为生产周期,dpos 授权股权认证,

    账户体系,角色控制,加权组合控制资金流
    分配账户权限,通过已有账户创建新的账户?

    消息的发布与接收?
    消息=>消息处理机制 实现智能合约

    硬分叉,独立的数据,新的链(创世)
    软分叉,新的链兼容原来的数据,软分叉节点之前拥有btc,拥有相同数量的btc儿子们

    挖矿过程中产生的分叉,两个区块同时产生,广播的时候,拓扑网络最近的节点.谁先达到最小确认数,此链即为主链,另一为分叉链

    eos 智能合约: --note
    1.货币转账逻辑,不同的账户余额保存在用户本地scope中,账户信息存储在主链上,本地同步账户信息记录
    2.合约组成: 声明(库文件eoslib/eos.hpp,token.hpp,db.hpp)+数据结构信息,合约的逻辑和实现,提供给用户交互的接口(组成)
    3.如何定义一个表(scope)?
    eosio::table<...params>
    a.defaultscope 账户(default),b.currency 表owner(合约的名字),c.account 表名,d.定义存储数据结构(struct),e.uint64_t 表中key类型(前sizeof(uint64_t)字节长度的数据将被当成表的key)
    如何定义action的结构?
    例:
    转出账户,转入账户,金额
    transfer{
    account_name from;
    account_name to;
    currency_tokens quantity;
    }
    4.apply message 接受过滤消息, 参数:合约名称,action,message处理器用以实现action逻辑
    5.合约第一次运行检查账户是否建表,且有余额记录 若没有会生成新表? 余额10亿货币单位所有者
    6.转出账户需要签名认证才能处理,lib库提供相应的方法,实现对账户的基本操作
    7.用户交互接口:struct 数据结构列表,actions,tables

    游戏合约:--note
    tic_tac_toe
    3x3板,host/challenger host(签名)先手,数组存储游戏数据
    actions create/restart/close/move 相应的message处理器的逻辑限制?
    创建游戏,(host/challenger) 后期重启关闭该游戏用到这两个参数

    tic_tac_toe:https://www.jianshu.com/p/b4b3cc9acccf

    php rpc api 提供http接口操作账户,智能合约api(支持c,c++)

    相关url: www.eosdata.io

    rest_api 地址: https://github.com/EOSBlock/EOS-Tutorials/blob/master/EN/transfer-tokens-using-RPC.md

    使用RPC API转账的流程如下:
    unlock /wallet

    abi_json_to_bin 将转账信息由json格式序列化为bin格式字符串/chain

    get_info 获取当前最新的区块编号 /chain

    get_block 根据区块编号获取区块详情 /chain

    get_required_keys(可省略) 传入当前拥有的公钥、bin字符串,区块等信息,筛选出签署交易需要的公钥 /chain

    sign_transaction 传入上面获取的相关参数,通过钱包中私钥对交易进行签署 /wallet

    push_transaction 根据第五步获取的签名信息,将交易提交到区块链上/chain

    生成eos账号密钥:https://eostea.github.io/eos-generate-key/

    eos钱包https://my.oschina.net/lizongyue/blog/1827882
    eos 测试网络注册账号: https://www.jianshu.com/p/8501bc2f42aa
    配置rpc api 的url https://www.jianshu.com/p/3c9cb9bc6fd6
    参考:https://www.jianshu.com/p/84f6d031c0cb
    eos区块链浏览器:
    https://bloks.io/
    https://eospark.com/MainNet/

  • 相关阅读:
    Chino 操作系统开发日志 (1)
    将Asp.Net Core和corefx移植到.Net 4.0
    C++编写操作系统(1):基于 EFI 的 Bootloader
    第二次作业:支付宝手机软件分析
    第一次作业:以人为鉴 可以明得失
    个人附加作业
    个人作业3---个人总结
    结对编程2---单元测试
    个人作业2---必应词典案例分析
    结对编程作业1
  • 原文地址:https://www.cnblogs.com/hiraeth/p/9951511.html
Copyright © 2011-2022 走看看