您正在查看: Surou 发布的文章

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 相关知识

https://eosram.vip/

更新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

Cordova Android安全指南

内容安全政策

控制允许进行哪些网络请求(图像,XHR等)(直接通过webview)。

在Android和iOS上,网络请求白名单(见上文)无法过滤所有类型的请求(例如<video>,WebSockets未被阻止)。因此,除白名单外,您还应在所有网页上使用内容安全策略 <meta>标记。

在Android上,系统webview中对CSP的支持始于KitKat(但在使用Crosswalk WebView的所有版本上都可用)。

以下是您的.html网页的一些示例CSP声明:

<!-- Good default declaration:
    * gap: is required only on iOS (when using UIWebView) and is needed for JS->native communication
    * https://ssl.gstatic.com is required only on Android and is needed for TalkBack to function properly
    * Disables use of eval() and inline scripts in order to mitigate risk of XSS vulnerabilities. To change this:
        * Enable inline JS: add 'unsafe-inline' to default-src
        * Enable eval(): add 'unsafe-eval' to default-src
-->
<meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: https://ssl.gstatic.com; style-src 'self' 'unsafe-inline'; media-src *">
<!-- Allow everything but only from the same origin and foo.com -->
<meta http-equiv="Content-Security-Policy" content="default-src 'self' foo.com">
<!-- This policy allows everything (eg CSS, AJAX, object, frame, media, etc) except that 
    * CSS only from the same origin and inline styles,
    * scripts only from the same origin and inline styles, and eval()
-->
<meta http-equiv="Content-Security-Policy" content="default-src *; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval'">
<!-- Allows XHRs only over HTTPS on the same domain. -->
<meta http-equiv="Content-Security-Policy" content="default-src 'self' https:">
<!-- Allow iframe to https://cordova.apache.org/ -->
<meta http-equiv="Content-Security-Policy" content="default-src 'self'; frame-src 'self' https://cordova.apache.org">

http://blog.inching.org/Cordova/2016-07-18-cordova-android-security-guide.html