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

部署EOS Mainnet 主网络,并接入eosfans测试网络,成为BP

开始准备EOS项目

  • 获取EOS主网项目代码
    git clone https://github.com/EOS-Mainnet/eos.git
  • 进入eos代码目录,切换当前所需的分支
    git checkout --no-track -b Branch_v1.1.0 Mainnet-1.1.0 --
  • 开始编译
    ./eosio_build.sh
  • 执行安装
    sudo make install
  • 建立链接 避免出现 (更新v1.1.0后,在执行 sudo make install 之后,cleos 等指令还是无效)
    ln -s /usr/local/eosio/bin/nodeos /usr/local/bin/nodeos
    ln -s /usr/local/eosio/bin/cleos /usr/local/bin/cleos

开始配置,接入eosfans测试网络

先运行下nodeos,将会自动创建~/.local/share/eosio/nodeos/config目录和config.ini文件。
修改config.ini中如下内容

//添加
p2p-peer-address = p2p.party.eostea.io:56234
//修改 可忽略
agent-name = "EOS Test Agent"
//如果需要外部eosjs调用的话,修改
access-control-allow-origin = *
//如果需要查看get actions,取消前面注释
filter-on = *
//如果需要返回错误信息,修改
verbose-http-errors = true
//添加插件支持
plugin = eosio::chain_api_plugin
plugin = eosio::history_plugin
plugin = eosio::history_api_plugin
如果需要生产区块,成为BP

继续修改config.ini

//修改BP名
producer-name = 你的节点名字
//修改BP节点名对应的公钥,私钥 (不要用下面现成的,自己去重新生成!!!)
signature-provider = EOS66bcyj8NBeJigeCDqCeYnaJNFZfCZt328yEpHCh7VZKSxed4Cn=KEY:5KHqSSajXUi11wPEWagiWgY51G6mo4zE4FKfrD2tNH9i4PHHVxU
//添加插件支持
plugin = eosio::producer_plugin
下载测试网络对应的genesis.json

切换到~/.local/share/eosio/nodeos/config目录,
新建genesis.json,将(测试网络genesis.json)内容复制到新建的genesis.json文件中,不要用wget直接下载,github会有转向内容不对.

开始准备启动

  • 先清空data目录 (由于开始测试启动时,写入了一些不兼容的数据块)
    rm -rf ~/.local/share/eosio/nodeos/data
  • 在~/.local/share/eosio/nodeos/config执行
    nodeos --genesis-json genesis.json

    此时已启动并开始同步区块

开始配置成为BP

  • cleos wallet create 创建一个默认钱包并保存好解锁密码
  • cleos wallet import {Private_Key} 导入上面config.ini中signature-provider配置的私钥
  • 在测试网络中注册config.ini中producer-name配置的账号 (可以联系eosfans创建),并转入一些系统代币
    root@iZj6cgy98yiuluw41gz0aoZ:~/.local/share/eosio/nodeos/config# cleos get currency balance eosio.token bcskillsurou EOS
    20000000.0000 EOS
  • 将系统代币抵押给自己 (常见问题)
    root@iZj6cgy98yiuluw41gz0aoZ:~/.local/share/eosio/nodeos/config# cleos system delegatebw bcskillsurou bcskillsurou '10000000.0000 EOS' '10000000.0000 EOS'
    2018-07-20T12:20:56.591 thread-0   main.cpp:438                  create_action        ] result: {"binargs":"a0129ddec45aab49a0129ddec45aab4900e876481700000004454f530000000000e876481700000004454f530000000000"} arg: {"code":"eosio","action":"delegatebw","args":{"from":"bcskillsurou","receiver":"bcskillsurou","stake_net_quantity":"10000000.0000 EOS","stake_cpu_quantity":"10000000.0000 EOS","transfer":false}} 
    executed transaction: ed7bfc3787629ae9fd27c8ef2a51440a2f89717a4e442e5c5588184ce7664c4b  144 bytes  1798 us
    #         eosio <= eosio::delegatebw            {"from":"bcskillsurou","receiver":"bcskillsurou","stake_net_quantity":"10000000.0000 EOS","stake_cpu...
    #   eosio.token <= eosio.token::transfer        {"from":"bcskillsurou","to":"eosio.stake","quantity":"20000000.0000 EOS","memo":"stake bandwidth"}
    #  bcskillsurou <= eosio.token::transfer        {"from":"bcskillsurou","to":"eosio.stake","quantity":"20000000.0000 EOS","memo":"stake bandwidth"}
    #   eosio.stake <= eosio.token::transfer        {"from":"bcskillsurou","to":"eosio.stake","quantity":"20000000.0000 EOS","memo":"stake bandwidth"}
    warning: transaction executed locally, but may not be confirmed by the network yet    ] 
  • cleos system regproducer {producer-name} {public key} http://{{server}}.com //申请bp
    root@iZj6cgy98yiuluw41gz0aoZ:~/.local/share/eosio/nodeos/config# cleos system regproducer bcskillsurou EOS8H6rzgwpV2KD5AtiDMZLQWw6nDxWaV6jGc7rVY8sHfFuJZjCq4 http://bcskill.com
    2018-07-20T12:36:19.839 thread-0   main.cpp:438                  create_action        ] result: {"binargs":"a0129ddec45aab490003be6e9ef6503430e4c80a2cd52149d2b7b9330d92c2cea4a839632f94ced75daf10687474703a2f2f64617070702e636f6d0000"} arg: {"code":"eosio","action":"regproducer","args":{"producer":"bcskillsurou","producer_key":"EOS8H6rzgwpV2KD5AtiDMZLQWw6nDxWaV6jGc7rVY8sHfFuJZjCq4","url":"http://dappp.com","location":0}} 
    executed transaction: 91df9e3e6e27708ab803ee6da121c2ddd7845fef5f76145dbfd618937ecee5e5  160 bytes  1130 us
    #         eosio <= eosio::regproducer           {"producer":"bcskillsurou","producer_key":"EOS8H6rzgwpV2KD5AtiDMZLQWw6nDxWaV6jGc7rVY8sHfFuJZjCq4","u...
    warning: transaction executed locally, but may not be confirmed by the network yet    ]

需要等主网启动后,才会出块。

ubuntu添加新用户

新购买的云服务器只有root帐号,但部署EOS时,非常不建议使用root权限运行,以免因为EOS出现未知BUG导致。。

1. 创建新用户

sudo adduser username

2. 赋予新用户sudo权限

用adduser创建后的新用户是不能使用sudo的,因为还没有赋予相关root权限,执行以下代码赋予权限

sudo usermod -a -G adm username
sudo usermod -a -G sudo username

3. 删除用户

当需要删除用户时可以使用以下指令

sudo userdel -r username

这个指令会删除用户username并把该用户下的所有文件(/home/username/路径下的所有文件)都删除,若要保留这些文件而仅仅删除用户,可使用以下指令

sudo userdel username

ps:(可查看/etc/group文件来查看各用户组情况)

thinkPhp5 连接 EOS中MongoDb

由于需要使用PHP开发api thinkPhp5连接EOS的mongo db数据,所以有此文
部署好PHP环境,放置好thinkPhp5项目后,修改数据库配置
编辑/var/www/application/database.php

return [
    'type'            =>  '\think\mongo\Connection',
    'hostname'        => '127.0.0.1',
    'database'        => 'eosmain',
    'username'        => '', //eos 环境部署的mongo db默认没有用户名和密码,只能本地访问
    'password'        => '',
    'hostport'        => '27017',

推荐文章:

Ubuntu彻底删除PHP7.0

  1. 删除php的相关包及配置
    sudo apt-get autoremove php7*
  2. 删除关联
    sudo find /etc -name "*php*" |xargs  rm -rf 
  3. 清除dept列表
    sudo apt purge `dpkg -l | grep php| awk '{print $2}' |tr "\n" " "`
  4. 检查是否卸载干净(无返回就是卸载完成)
    dpkg -l | grep php7.0

php 安装apache2 + php7.0并支持 MongoDB扩展支持

由于要做个EOS浏览器,展示MongoDb的数据so...

开始安装PHP运行环境

安装apache2

sudo apt-get install apache2

安装php7

sudo apt-get install php7.0

安装apache2 php7 module

sudo apt-get install libapache2-mod-php7.0

测试apache工作是否是正常


下面开始安装mongo-php-driver

从github获取最新版本mongo-php-driver的下载地址
开始下载

root@iZ2zea5mjpcmz9m17k56daZ:~# wget https://github.com/mongodb/mongo-php-driver/releases/download/1.5.1/mongodb-1.5.1.tgz

下载完毕后解压

root@iZ2zea5mjpcmz9m17k56daZ:~# tar -zxf mongodb-1.5.1.tgz 

进入安装目录

root@iZ2zea5mjpcmz9m17k56daZ:~# cd mongodb-1.5.1/

开始编译

root@iZ2zea5mjpcmz9m17k56daZ:~/mongodb-1.5.1# phpize
Configuring for:
PHP Api Version:         20151012
Zend Module Api No:      20151012
Zend Extension Api No:   320151012

如果提示The program 'phpize' is currently not installed先执行安装

root@iZ2zea5mjpcmz9m17k56daZ:~/mongodb-1.5.1# phpize
The program 'phpize' is currently not installed. You can install it by typing:
apt install php7.0-dev
root@iZ2zea5mjpcmz9m17k56daZ:~/mongodb-1.5.1# apt-get install php7.0-dev

继续执行编译

./configure
make && make install

修改当前使用php配置文件,添加mongodb.so扩展配置

vim /etc/php.ini
extension=mongodb.so

重启php-fpm服务

sudo service php7.0-fpm restart & service appache2 restart

在/var/www/html/中新建test.php进行测试

<?php
// http://php.net/manual/en/class.mongodb-driver-manager.php
$manager = new MongoDB\Driver\Manager();
echo '<pre>';
var_dump($manager);
echo '</pre>';
exit;

查看网址此文件返回如下,及配置完成

object(MongoDB\Driver\Manager)#1 (2) {
  ["uri"]=>
  string(20) "mongodb://127.0.0.1/"
  ["cluster"]=>
  array(1) {
    [0]=>
    array(11) {
      ["host"]=>
      string(9) "127.0.0.1"
      ["port"]=>
      int(27017)
      ["type"]=>
      int(0)
      ["is_primary"]=>
      bool(false)
      ["is_secondary"]=>
      bool(false)
      ["is_arbiter"]=>
      bool(false)
      ["is_hidden"]=>
      bool(false)
      ["is_passive"]=>
      bool(false)
      ["tags"]=>
      array(0) {
      }
      ["last_is_master"]=>
      array(0) {
      }
      ["round_trip_time"]=>
      int(-1)
    }
  }
}

  • 查看当前php使用的php.ini
    终端输入 php --ini查看Loaded Configuration File

  • 打开PHP Error输出
    打开当前使用 php.ini 修改 display_errors = On

  • PHP log目录 /var/log/apache2

  • 查看PHP版本 php -v

  • 查看PHP扩展目录 php -i | grep extension_dir

  • 相关推荐:Ubuntu彻底删除PHP7.0
    mongodb_and_php7