您正在查看: EOS 分类下的文章

EOS Configuration 参数详解

Eos = require('eosjs')

// Default configuration (additional options below)
config = {
  chainId: null, // 32 byte (64 char) hex string
  keyProvider: ['PrivateKeys...'], // WIF string or array of keys..
  httpEndpoint: 'http://127.0.0.1:8888',
  expireInSeconds: 60,
  broadcast: true,
  verbose: false, // API activity
  sign: true
}

eos = Eos(config)
  • chainId hex - 您要连接的区块链的唯一ID。这是有效交易签名所必需的。chainId通过 get_info API调用提供。通过其初始起源块识别链。签署的所有交易仅对具有此chainId的区块链有效。出于安全原因验证chainId。
  • keyProvider [array<string>|string|function] - 提供用于签署事务的私钥。如果找到多个私钥,get_required_keys则调用API 以发现要使用的签名密钥。如果提供了函数,则为每个事务调用此函数。
  • httpEndpoint string - 提供链API的nodeosd服务器的http或https位置。从浏览器使用eosjs时,请记住在nodeosd或代理服务器中配置相同的源策略。对于测试,access-control-allow-origin = *可以使用nodeosd配置。对于冷存储(无网络)配置,请将此值设置为null。
  • expireInSeconds number - 事务到期前的秒数。时间基于nodeosd的时钟。可能出现错误的未到期交易是到期日到期之前的责任,此时间应该是短暂的。
  • broadcast [boolean=true]- 将交易发布到区块链。使用false获取完全签名的事务。
  • verbose [boolean=false] - 详细日志记录,例如API活动。
  • debug [boolean=false] - 低级调试日志记录(序列化)。
  • sign [boolean=true] - 使用私钥签署交易。保留未签名的交易避免了提供私钥的需要。
  • mockTransactions(高级)
    • mockTransactions: () => null // 'pass', or 'fail'
    • pass - 不要广播,总是假装交易有效
    • fail - 不要广播,假装交易失败
    • null|undefined - 照常广播
  • transactionHeaders(高级) - 手动计算事务头。这可能是提供的,因此eosjs不需要对nodeos进行与头相关的API调用。用于冷藏等环境。每个事务都会调用此回调。这里记录了标题eosjs-api#headers
    • transactionHeaders: (expireInSeconds, callback) => {callback(null/*error*/, headers)}
  • logger 默认日志记录配置。
    logger: {
    log: config.verbose ? console.log : null,
    error: console.error // null to disable
    }

    关闭所有错误记录: config.logger = {error: null}

EOS 资源单位

RAM: bytes,KiB,MiB,GiB,TiB
CPU: us(微秒),ms(毫秒),sec(秒),min(分),hr(小时)
NET:同RAM

EOS RAM 相关知识

更新v1.1.0后,在执行 sudo make install 之后,cleos 等指令还是无效

cd eos/build
sudo make install

root@iZj6cbx3duprxf6dasczbpZ:/home/eos/build# nodeos
-bash: /usr/local/bin/nodeos: No such file or directory

查看更新log

Revision: f4ffc26a1e393f33a1542f45f1b1ea388f416ad5
Author: Bucky Kittinger <larrykittinger@gmail.com>
Date: 7/11/2018 1:28:13 AM
Message:
change default to /usr/local/eosio

----
Modified: eosio_build.sh

发现此次更新

-DENABLE_COVERAGE_TESTING="${ENABLE_COVERAGE_TESTING}" -DBUILD_DOXYGEN="${DOXYGEN}" -DCMAKE_INSTALL_PREFIX="/usr/local/eosio" ..

将原来的DCMAKE_INSTALL_PREFIX="/usr/local"更改成了DCMAKE_INSTALL_PREFIX="/usr/local/eosio"
查看对应的目录

root@iZ2zea5mjpcmz9m17k56daZ:/usr/local/eosio/bin# ls
cleos eosio-abigen eosiocpp eosio-launcher eosio-s2wasm eosio-wast2wasm keosd nodeos

文件安装在了/usr/local/eosio/bin/usr/local/bin/
所以导致No such file or directory

可以通过添加环境变量解决

export PATH=/usr/local/eosio/bin:$PATH

v1.1.1 版本已经支持sudo make install 后,自动添加上面环境变量信息。

编译前建议先清理下

sudo ./scripts/clean_old_install.sh
./eosio_build.sh

李嘉图合同 - 关于区块链的具有法律约束力的协议

Live Contracts的想法一直挥之不去。以现存的李嘉图合同概念为例,它非常相似。李嘉图的合同源于20世纪90年代中期区块链技术和加密货币专家Ian Grigg所做的早期工作。

什么是李嘉图合同?

李嘉图的合同被认为是将合法有效和数字连接的文件注册到某个对象或价值的一种方式。Ricardian合同将法律文件中的所有信息以可由软件执行的格式放置。这样,它既可以是协议,也可以是在数字基础设施内安全地集成协议的协议,同时由于加密识别而提供高级别的安全性。

像普通的文本文档一样阅读

因此,李嘉图的合同对机器和人都是可读的。机器在数字基础设施中读取合同,人们将其作为纯文本文档阅读。这允许合同的所有各方正确处理其中所提供的信息。这种类型的合同将计算机语言与常规语言交织在一起,使交易成本更低:它可以有助于更快地解决争议,并且协议可以更容易地执行。

李嘉图合同的目的是什么?

李嘉图合同及其区块链技术的一个特点是其透明度。欺诈的风险可以保持在最低限度,因为使用加密哈希来完成特定数据的出版和参考。因此,代表金融交易(例如支付)的文件的数字化将在不久的将来变得越来越普遍。

李嘉图合同的定义

在20世纪90年代中期,Ian Grigg为数字资产运输的数字基础设施做出了重要贡献。这种模式被称为“里卡多”(以英国经济学家大卫里卡多的名字命名),由Systemics Inc.开发,这是一家专门从事金融交易,电子支付和密码学的美国公司。李嘉图的合同可以描述为:
“由发行人向财产所有人提交的单一文件形式的协议,其中所有者的所有权由文件的发行人管理。该文件必须清晰易读,就像传统的纸上合同一样。此外,协议必须通过程序和软件清晰可读,并使用数字密钥和服务器信息进行数字签名,并结合独特而安全的识别方法“。

英国经济学家大卫里卡多1772-1823

交易的发行和执行之间的严格分离

李嘉图的合同形成了立法与哈希函数创建的数字世界之间的联系。作为协议一部分的所有规则和条件都包含在合同中。在这样做时,交易问题及其执行是严格分开的,这反过来又有助于安全。李嘉图的合同规定了代理方之间达成的协议,因此这些方控制的程序可以执行本协议。

参考李嘉图合同的哈希值

该优惠以常规数字签名签署。通过同意涉及该合同散列的交易来接受合同。如果它涉及支付系统,则安全支付将参考该合同的散列,但也指付支付方和接收方。这种付款可以通过人工交易完成,但也可以通过智能合约进行。通过智能合约,交易的接受将基于智能合约代码进行。

隐藏的签名

有关各方签署的李嘉图合同是通过私钥完成的。合同提供者的签名被添加到文档中,该文档针对文档中描述的信息(例如属性)创建具有法律约束力且易读的提议。如果各方稍后参与李嘉图合同(例如,如果他们想要付款),则从签名的原始文档中覆盖加密“散列识别方法”。使用协议的哈希确保隐藏的签名附加到合同。

李嘉图合同和智能合约有什么区别?

智能合约是指已经达成一致且可以自动执行的一种数字协议。李嘉图合同是一种合同模型,用于记录合同的“意图”以及与合同相关的所有“行动”,甚至在合同执行之前。使用引用外部文档的哈希,Ricardian契约也可以轻松引用代码。毫无疑问,李嘉图的合同与未来的智能合约之间会有更多的交叉,交易可能会在不同的混合形式的基础上进行。

李嘉图的合同可以用于什么?

李嘉图合同可用于任何类型的协议。与智能合约不同,它不仅限于在诸如金融交易之类的简单情况下使用。李嘉道的合同用于确定代理方与另一方交易时的责任(责任)。合同代表某些商品或服务的单位。李嘉图的合同使用双方签署的协议,一旦签订合同,就不能伪造。

BowTie图

李嘉图的合同将各方之间的协议划分为时间和领域,并使用所谓的“BowTie图”。该图表以清晰的时间表显示某些风险。BowTie图表涉及谈判和起草具有法律约束力的合同,并明确了合同的所有目标。

立法

合同自动化的新解决方案可以成功,因为它们解决了法律实践中的实际问题。该技术仍处于全面发展阶段,其法律框架滞后。然而,在现有的立法框架内,李嘉图的合同已经可以接受。

LegalThings One是运行实时合同的平台。Token预售将于2017年12月6日开始。请访问livecontracts.io了解更多信息。

©与Ricardian合同相关的所有版权属于Systemics Inc.的I. Griggs先生。欲了解更多信息,请访问他的网站http://iang.org/并阅读他的白皮书http://iang.org/papers/ricardian_contract。 HTML

英文原文:https://medium.com/legalthingsone/ricardian-contracts-legally-binding-agreements-on-the-blockchain-4c103f120707