您正在查看: EOS-新手教程 分类下的文章

后台运行nodeos,避免ssh掉线

问题:

怎么后台运行 nodeos 呢,我用xshell 连接的,但是 xshell 总断,断的时候有时会引起 nodeos 退出

解决方案

需要的程序 Tmux

  1. 安装Tmux
    sudo apt-get update
    sudo apt-get install tmux
  2. 开始使用
    tmux
  3. 返回会话
    tmux a

多个会话

  1. 新建会话
    tmux new -s 会话名字
  2. 切换(查看)会话
    tmux a - t 会话名字
  3. 删除会话
    tmux kill-session -t first

    问题收集自 eosfans

自定义nodeos数据路径

--config-dir 自定义 config.ini 路径
--data-dir 自定义区块数据路径
--genesis-json 自定义genesis.json路径

EOS 主网数据更新,离线数据包

数据下载地址

使用方法

下载最新的数据包

wget https://s3-ap-northeast-1.amazonaws.com/eosstorebp/xxx.tar.gz

解压下载好的数据包

tar -zxvf xxx.tar.gz

解压后会发现数据包中有两个文件blocks,state
将两个文件夹,放到~/.local/share/eosio/nodeos/data,(提前清空目录)
或者自定义data的位置,nodeos启动时添加参数--data-dir 自定义的data目录路径 (注意每次重新启动nodeos,都需要加此参数)
重新启动 nodeos
eosstore提供

RPC获取常见资源数据

实例化EOS对象

const wif = '私钥'
eos = Eos({
        httpEndpoint: 'https://api.eosnewyork.io',
        chainId: 'aca376f206b8fc25a6ed44dbdc66547c36c6c33e3a119ffbeaef943642f0e906',
        keyProvider: wif,
        verbose: true
    })

RAM

  • 获取总网RAM (GB)

    eos.getTableRows(true,"eosio","eosio","global",10).then(result => {
      console.log(result.rows[0].max_ram_size/(1024*1024*1024));
    })
  • 获取RAM当前价格
    参考(获取RAM实时价格)

  • 获取总网RAM使用量

    eos.getTableRows(true,"eosio", "eosio", "rammarket").then(result => {
      var ramBaseBalance = result.rows[0].base.balance; // Amount of RAM bytes in use
      ramBaseBalance = ramBaseBalance.substr(0,ramBaseBalance.indexOf(' '));
      console.log(ramBaseBalance);
    })
  • 获取总网已购买RAM的EOS总数

    eos.getTableRows(true,"eosio", "eosio", "rammarket").then(result => {
      var ramQuoteBalance = result.rows[0].quote.balance; // Amount of EOS in the RAM collector
      ramQuoteBalance = ramQuoteBalance.substr(0,ramQuoteBalance.indexOf(' '));
      console.log(ramQuoteBalance);
    })

NET

  • 获取当前NET价格(EOS/KiB/Day)
    eos.getAccount("eosnewyorkio").then(result => {
      var netStaked = result.total_resources.net_weight.substr(0,result.total_resources.net_weight.indexOf(' '));
      var netAvailable = result.net_limit.max / 1024; //~ convert bytes to kilobytes
      netPriceEos = ((netStaked / netAvailable)/3).toFixed(8); //~ divide by 3 to get average per day from 3 day avg
      console.log(netPriceEos);
    })

CPU

  • 获取当前CPU价格(EOS/ms/Day)
    eos.getAccount("eosnewyorkio").then(result => {
      var cpuStaked = result.total_resources.cpu_weight.substr(0,result.total_resources.cpu_weight.indexOf(' '));
      var cpuAvailable = result.cpu_limit.max / 1000; // convert microseconds to milliseconds
      cpuPriceEos = ((cpuStaked / cpuAvailable)/3).toFixed(8); //~ divide by 3 to get average per day from 3 day avg
      console.log(cpuPriceEos);
    })

    科普

    什么是RAM?

    RAM需要在区块链上存储数据,必须购买。 您可以根据当前的RAM市场价格获得一定数量的存储字节数。 价格会根据买卖行为自动调整。 当您释放存储空间时,您可以以当前的市场价格出售RAM以恢复EOS。

    什么是网络带宽?

    网络带宽的测量值是过去3天内的平均消耗量(以字节为单位)。 每次发送操作或事务时都会暂时消耗净带宽,但会随着时间的推移而减少返回0.净带宽所占用的令牌越多,您使用的越多。 您可以随时取消收回您的EOS令牌。

    什么是CPU带宽?

    CPU带宽测量为过去3天内的平均消耗量(以微秒为单位)。 发送操作或事务时临时消耗CPU带宽,但随着时间的推移逐渐减少,返回0.事务运行的时间越长,消耗的CPU带宽就越多。 您可以随时取消收回您的EOS令牌。

数据来自:github erp

获取EOS实时价格 USD price

http api:https://api.coinmarketcap.com/v2/ticker/1765/

{
    "data": {
        "id": 1765, 
        "name": "EOS", 
        "symbol": "EOS", 
        "website_slug": "eos", 
        "rank": 5, 
        "circulating_supply": 906245118, 
        "total_supply": 1006245120, 
        "max_supply": 1000000000, 
        "quotes": {
            "USD": {
                "price": 7.1827637594, 
                "volume_24h": 636473463.658721, 
                "market_cap": 6509344588, 
                "percent_change_1h": -0.09, 
                "percent_change_24h": -1.29, 
                "percent_change_7d": -16.8
            }
        }, 
        "last_updated": 1533193294
    }, 
    "metadata": {
        "timestamp": 1533192860, 
        "error": null
    }
}

https://api.coinmarketcap.com/v1/ticker/${symbol}/?convert=${convert_symbol}
price字段即为当前的EOS USD价格 (具体准确度,自己衡量)
数据来自:github erp