美文网首页
在树梅派上安装beam钱包

在树梅派上安装beam钱包

作者: yue169 | 来源:发表于2019-11-10 21:20 被阅读0次

    在树梅派上安装beam钱包

    TL;DR(最简化步骤)

    如果你只是想体验一下树莓派运行beam钱包不想过多了解细节,下面是最简单的步骤:

    第一步:安装依赖库,依次在终端输入下面命令:

    sudo apt-get install git
    sudo apt-get install cmake
    sudo apt-get install libboost-all-dev
    sudo apt-get install openssl
    
    sudo apt-get install qt5-default
    sudo apt-get install qtdeclarative5-dev libqt5svg5-dev 
    sudo apt-get install qttools5-dev-tools qttools5-dev
    sudo apt-get install qml-module-qtquick-controls qml-module-qtquick-controls2
    

    第二步:下载源代码:

    git clone https://github.com/BeamMW/beam.git
    cd beam
    git checkout mainnet
    

    第三步:更改一个小bug

    终端中输入:

    geany ./core/ecc.cpp
    

    打开一个编辑器修改第149行代码:

    修改前:if (read(hFile, p, nSize) == nSize)

    修改为:if (read(hFile, p, nSize) == (ssize_t) nSize)

    第四步:编译

    在终端输入:

    cmake -DARCH_NATIVE=1 . && make -j 3
    

    第五步:在开始菜单创建beam快捷访问菜单:

    sudo mkdir -p /opt/beam
    sudo cp ./ui/BeamWallet /opt/beam
    sudo cp ./ui/icons/beam_mainnet.png /usr/share/pixmaps/
    sudo geany /usr/share/applications/BeamWallet.desktop
    

    在打开的文本编辑器中输入:

    [Desktop Entry]
    Name=Beam Wallet
    Comment=GUI Wallet for BEAM MW Mainnet
    Icon=/usr/share/pixmaps/beam_mainnet.png
    Exec=/opt/beam/BeamWallet
    Type=Application
    Encoding=UTF-8
    Terminal=false
    Categories=Network;
    

    然后保存退出。重启系统,就可以在开始菜单中的网络菜单中找到beam钱包。

    详细步骤

    只要简单地按照本文介绍的步骤一步一步来,就能把beam钱包和节点安装在树梅派上,三代和四代都可以安装成功。树莓派的SD卡至少要16G,32G的更好,MimbleWimble有良好的可扩展性,所以16GSD卡如果只用作beam节点的话,能用两年不成问题。

    准备

    beam的交易处理过程需要所在的计算机有正确的时间,因为树梅派没有集成实时时钟程序,所以在运行钱包前请确保时间正确。(我设置了上海时间后没遇到问题)

    另外,在编译过程中某些库需要很高的内存,因此需要设置虚拟内存(4G版本的树梅派可以忽略这一步)。

    在终端中输入:

    sudo geany /etc/dphys-swapfile
    

    会出现一个文本编辑器,把第16行的数字改成2048.,然后保存并退出编辑器。
    然后,输入

    sudo dphys-swapfile setup
    

    这会在你的SD卡上划出2G的空间作为虚拟内存。

    我们可以使用下面两行命令可以在编译完成后关闭虚拟内存:

    sudo dphys-swapfile swapoff
    sudo dphys-swapfile uninstall
    

    或在上文的setup命令中改回系统默认。

    如何编译命令行节点和钱包

    首先安装beam的依赖库,依次输入一下命令:

    sudo apt-get install git
    sudo apt-get install cmake
    sudo apt-get install libboost-all-dev
    sudo apt-get install openssl
    

    现在我们已经做好编译命令行节点和钱包的准备。下一步我们下载beam源代码,并进入beam的正确代码分支来编译可连接beam主网的节点:

    git clone https://github.com/BeamMW/beam.git
    cd beam
    git checkout mainnet
    

    编译前我们要修复一个小bug,下一个版本可能就修复了,不过现在我用的这源代码还未修复。

    输入命令:

    geany ./core/ecc.cpp
    

    此时会打开文本编辑器编辑ecc.cpp,在149行处的代码需要修改一下
    原:if (read(hFile, p, nSize) == nSize)
    改为:if (read(hFile, p, nSize) == (ssize_t) nSize)

    修改bug

    然后保存,现在就可以编译了 。

    如果你想直接编译图形化钱包,可以跳过下面步骤,直接按照下一章节的步骤进行。

    复制并输入下面命令:

    cmake -DBEAM_NO_QT_UI_WALLET=1 -DARCH_NATIVE=1 . && make -j 3
    

    命令说明:“-j”参数表示的是用几个cpu核心编译,“-j 3”表示用3个,如果你用的是4G版本的树莓派,可以设定“-j 4”,使用4个cpu核心。如果是树莓派4 2G ,可以使用“-j 3”,如果是1G内存或树莓派3,可以使用“-j 2”或 “-j 1”。

    2G的树莓派使用“-j 3”是非常顺畅 的,除了在进行到65%处编译一些库文件用到虚拟内存时会变慢。在2G树莓派上编译beam钱包需要大概半个小时。译者用的是4G版本,时间稍微短了一点点。

    编译结束后我们得到 以下两个可执行文件:

    ./beam/beam-node
    ./wallet/beam-wallet
    

    可以把他们拷贝到一个文件夹中,启动节点方法请参考我之前的文章。
    强烈推荐使用快速同步参数“horizon_hi”“horizon_lo”,节省同步时间。

    如何安装CLI节点并设置自动启动

    如果你想清理编译文件夹以节省你的树莓派的空间,可以创建一个新的文件夹,把beam钱包和节点放到这新文件夹中。你可以直接把可执行文件拷贝到新文件夹。

    下面是用命令在你的home文件中创建新文件夹并把beam相关文件拷贝进去:

    sudo mkdir -p opt/beam
    sudo chown pi:pi opt/beam 
    
    cp ~/beam/{beam/beam-node,wallet/beam-wallet} /opt/beam
    

    除了可执行文件,我们还需要在home中为配置文件和节点数据创建一个文件夹:

    mkdir -p ~/.local/share/beam
    cp ~/beam/{beam/beam-node.cfg,wallet/beam-wallet.cfg} ~/.local/share/beam
    

    现在相关文件都拷贝好了,可以把源代码的文件夹清理了(如果你还要编译图形化钱包就先别清理)。

    下面的命令是告诉系统可执行文件和配置的新位置:

    geany /home/pi/.bashrc
    

    在文本最后一行加入下面代码:

    export PATH=/opt/beam:$PATH
    
    function BeamNode {
    pushd ~/.local/share/beam
    beam-node $@
    popd
    }
     
    function BeamCLIWallet {
    pushd ~/.local/share/beam
    beam-node $@
    popd
    }
    

    保存退出后,输入:

    source ./.bashrc
    

    现在当你打开终端时,你的系统会知道BeamNode和BeamCLIWallet这两个命令的位置,当执行完后会回到你所在的位置。

    相对应的配置文件可以这样访问:

    geany /home/pi/.local/share/beam/beam-node.cfg
    

    节点配置可以这样访问:

    geany /home/pi/-local/share/beam/beam-wallet.cfg
    

    完成后可以输入”BeamNode”来启动第一次同步,这要花上好长时间,在此期间CPU会满载运行。不过不用担心,在同步完成后,计算机资源消耗会接近零。

    如何在系统重启时自动运行beam节点?

    首先安装tmux,这个软件可以在系统启动时运行一个终端并输入命令行。

    sudo apt-get install tmux
    

    然后创建一个cron文件,这个可以在系统启动得时候运行beam节点,输入:

    geany /opt/beam/beam.cron
    

    打开文本编辑器输入:

    #!/bin/bash
    sleep 5
    /usr/bin/tmux new-session -d -s beamSession ‘/bin/bash’
    /usr/bin/tmux send-keys -t beamSession “source /home/pi/.bashrc” C-m
    /usr/bin/tmux send-keys -t beamSession “BeamNode” C-m
    

    然后保存并退出编辑器。注意,在系统重启后,我们设置了5秒后启动节点。这可以让系统先连接网络。另外就是如果一次启动太多任务会导致一些问题,所以你如果想通过这个方式启动多个任务(如CLI钱包),可以适当地增加这个参数值。

    现在我们让Cron程序读到这个文件,输入:

    crontab -e 
    

    如果你第一次使用这个命令,你会被问使用什么编辑器,选择1使用nano(一种文本编辑器)。

    然后用方向键选到最后一样,插入下面一行命令:

    @reboot /opt/beam/beam.cron
    

    按ctrl + O保存,按ctrl + x 退出这个编辑器。至此,每次启动系统,节点都会跟随启动。打开终端输入下面命令会看到节点运行情况:

    tmux attach-session -t beamSession
    

    以上我都是用配置文件来配置节点的,没有添加附加命令。

    如何编译安装图形钱包

    图形化钱包

    编译GUI钱包需要另外几个依赖库,输入一下命令进行安装:

    sudo apt-get install qt5-default
    sudo apt-get install qtdeclarative5-dev libqt5svg5-dev 
    sudo apt-get install qttools5-dev-tools qttools5-dev
    sudo apt-get install qml-module-qtquick-controls qml-module-qtquick-controls2
    

    这些大概要占200m空间。注意,如果你没有编译节点,下面会进行编译,如果你已经编译了节点,你需要先输入:

    rm ./CMakeCache.txt
    

    然后输入如下命令,启动编译过程:

    cmake -DARCH_NATIVE=1 . && make -j 3
    

    你可以根据你的硬件编辑“-j”参数。

    然后是创建新文件夹,把GUI钱包可执行文件转移到这个位置并在开始菜单创建快捷启动方式,输入:

    sudo mkdir -p /opt/beam
    sudo cp ./ui/BeamWallet /opt/beam
    sudo cp ./ui/icons/beam_mainnet.png /usr/share/pixmaps/
    sudo geany /usr/share/applications/BeamWallet.desktop
    

    此时会启动一个文本编辑器,把下面文本拷贝到这个文件并保存:

    [Desktop Entry]
    Name=Beam Wallet
    Comment=GUI Wallet for BEAM MW Mainnet
    Icon=/usr/share/pixmaps/beam_mainnet.png
    Exec=/opt/beam/BeamWallet
    Type=Application
    Encoding=UTF-8
    Terminal=false
    Categories=Network;
    

    最后,重启系统或输入:

    lxpanelctl restart
    
    在开始菜单中的internet可以找到beam

    大功告成。

    原文:https://medium.com/beam-mw/how-to-install-beam-on-your-raspberry-pi-448d1cdb5c10

    相关文章

      网友评论

          本文标题:在树梅派上安装beam钱包

          本文链接:https://www.haomeiwen.com/subject/iezabctx.html