Skip to content

Instantly share code, notes, and snippets.

@2b
Last active July 23, 2018 11:16
Show Gist options
  • Select an option

  • Save 2b/c75ed4808451bc6b0329ce8bcf846443 to your computer and use it in GitHub Desktop.

Select an option

Save 2b/c75ed4808451bc6b0329ce8bcf846443 to your computer and use it in GitHub Desktop.

Revisions

  1. 2b revised this gist Jul 20, 2018. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion bulwarkd_armhf.md
    Original file line number Diff line number Diff line change
    @@ -66,7 +66,7 @@ find src -maxdepth 1 -type f -executable -exec file {} \; | grep -Eo "^([^,]+,){

    _Better to do all steps from non-root user_

    ### 1. Copy binaries to system directories
    ### 1. Copy binaries to system directory

    ```bash
    sudo cp bulwarkd bulwark-cli bulwark-tx /usr/local/bin
  2. 2b revised this gist Jul 20, 2018. 1 changed file with 15 additions and 17 deletions.
    32 changes: 15 additions & 17 deletions bulwarkd_armhf.md
    Original file line number Diff line number Diff line change
    @@ -4,39 +4,39 @@ _Build successful tested on Ubuntu Server 18.04 LTS (x86-64)_

    ### 1. Install build essential packages (for non-GUI wallet)

    ```
    ```bash
    sudo apt-get install build-essential libtool autotools-dev automake pkg-config libssl-dev libevent-dev bsdmainutils python3 libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-program-options-dev libboost-test-dev libboost-thread-dev git
    ```

    ### 2. Install ARM cross compiler toolchain

    ```
    ```bash
    sudo apt-get install g++-arm-linux-gnueabihf
    ```

    ### 3. Clone bulwark repo

    ```
    ```bash
    git clone https://github.com/bulwark-crypto/Bulwark.git
    ```

    ### 4. Switch branch to specific wallet version

    ```
    ```bash
    cd Bulwark
    git checkout 1.3.1
    ```

    ### 5. Pull and build all dependencies

    ```
    ```bash
    cd depends
    make HOST=arm-linux-gnueabihf NO_QT=1 NO_UPNP=1 -j$(nproc)
    ```

    ### 6. Generate configure file

    ```
    ```bash
    cd ..
    ./autogen.sh
    ```
    @@ -45,19 +45,19 @@ cd ..

    _Below disabled graphical UI, UPNP (firewall-jumping support) and ZMQ notifications_

    ```
    ```bash
    ./configure --prefix=`pwd`/depends/arm-linux-gnueabihf --with-gui=no --without-miniupnpc --disable-zmq
    ```

    ### 8. Compile using all cores

    ```
    ```bash
    make -j$(nproc)
    ```

    ### 9. Find binaries built in last step and manual copy them to RPi 2 device

    ```
    ```bash
    find src -maxdepth 1 -type f -executable -exec file {} \; | grep -Eo "^([^,]+,){6}"
    ```

    @@ -68,17 +68,15 @@ _Better to do all steps from non-root user_

    ### 1. Copy binaries to system directories

    ```
    sudo cp bulwarkd /usr/local/bin
    sudo cp bulwark-cli /usr/local/bin
    sudo cp bulwark-tx /usr/local/bin
    ```bash
    sudo cp bulwarkd bulwark-cli bulwark-tx /usr/local/bin
    ```

    ### 2. Write required parameters to bulwark.conf

    _Add `staking=1` if you want to stake coins_

    ```
    ```bash
    cat > ~/.bulwark/bulwark.conf << EOL
    rpcuser=bulwark
    rpcpassword=some_strong_password
    @@ -89,7 +87,7 @@ EOL

    _Change username `SOMEUSER` to yours_

    ```
    ```bash
    sudo cat > /etc/systemd/system/bulwarkd.service << EOL
    [Unit]
    Description=Bulwarks's distributed currency daemon
    @@ -113,13 +111,13 @@ EOL

    ### 4. Activate and run service

    ```
    ```bash
    sudo systemctl enable bulwarkd
    sudo systemctl start bulwarkd
    ```

    ### 5. Check wallet status (will take some time to sync blocks)

    ```
    ```bash
    watch bulwark-cli getinfo
    ```
  3. 2b revised this gist Jul 20, 2018. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion bulwarkd_armhf.md
    Original file line number Diff line number Diff line change
    @@ -90,7 +90,7 @@ EOL
    _Change username `SOMEUSER` to yours_

    ```
    cat > /etc/systemd/system/bulwarkd.service << EOL
    sudo cat > /etc/systemd/system/bulwarkd.service << EOL
    [Unit]
    Description=Bulwarks's distributed currency daemon
    After=network.target
  4. 2b revised this gist Jul 20, 2018. 1 changed file with 2 additions and 2 deletions.
    4 changes: 2 additions & 2 deletions bulwarkd_armhf.md
    Original file line number Diff line number Diff line change
    @@ -1,6 +1,6 @@
    # Cross-compilling Bulwark wallet for armhf architecture (Raspberry Pi 2)

    ## Build successful tested on Ubuntu Server 18.04 LTS (x86-64)
    _Build successful tested on Ubuntu Server 18.04 LTS (x86-64)_

    ### 1. Install build essential packages (for non-GUI wallet)

    @@ -55,7 +55,7 @@ _Below disabled graphical UI, UPNP (firewall-jumping support) and ZMQ notificati
    make -j$(nproc)
    ```

    ### 9. Find built in last step binaries and manual copy them to RPi 2 device
    ### 9. Find binaries built in last step and manual copy them to RPi 2 device

    ```
    find src -maxdepth 1 -type f -executable -exec file {} \; | grep -Eo "^([^,]+,){6}"
  5. 2b revised this gist Jul 20, 2018. 1 changed file with 4 additions and 2 deletions.
    6 changes: 4 additions & 2 deletions bulwarkd_armhf.md
    Original file line number Diff line number Diff line change
    @@ -43,7 +43,7 @@ cd ..

    ### 7. Change some autogenerated options (if you need so)

    _Below disabled graphical UI, UPNP (firewall-jumping support) and ZMQ notifications._
    _Below disabled graphical UI, UPNP (firewall-jumping support) and ZMQ notifications_

    ```
    ./configure --prefix=`pwd`/depends/arm-linux-gnueabihf --with-gui=no --without-miniupnpc --disable-zmq
    @@ -74,7 +74,9 @@ sudo cp bulwark-cli /usr/local/bin
    sudo cp bulwark-tx /usr/local/bin
    ```

    ### 2. Write required parameters to bulwark.conf (also add staking=1 if you want to stake coins)
    ### 2. Write required parameters to bulwark.conf

    _Add `staking=1` if you want to stake coins_

    ```
    cat > ~/.bulwark/bulwark.conf << EOL
  6. 2b revised this gist Jul 20, 2018. 1 changed file with 7 additions and 5 deletions.
    12 changes: 7 additions & 5 deletions bulwarkd_armhf.md
    Original file line number Diff line number Diff line change
    @@ -2,7 +2,7 @@

    ## Build successful tested on Ubuntu Server 18.04 LTS (x86-64)

    ### 1. First install build essential packages (for non-GUI wallet)
    ### 1. Install build essential packages (for non-GUI wallet)

    ```
    sudo apt-get install build-essential libtool autotools-dev automake pkg-config libssl-dev libevent-dev bsdmainutils python3 libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-program-options-dev libboost-test-dev libboost-thread-dev git
    @@ -31,7 +31,7 @@ git checkout 1.3.1

    ```
    cd depends
    make HOST=arm-linux-gnueabihf NO_QT=1 NO_UPNP=1 -j4
    make HOST=arm-linux-gnueabihf NO_QT=1 NO_UPNP=1 -j$(nproc)
    ```

    ### 6. Generate configure file
    @@ -41,7 +41,9 @@ cd ..
    ./autogen.sh
    ```

    ### 7. Change some autogenerated options (if you need so). Below disabled graphical UI, UPNP (firewall-jumping support) and ZMQ notifications.
    ### 7. Change some autogenerated options (if you need so)

    _Below disabled graphical UI, UPNP (firewall-jumping support) and ZMQ notifications._

    ```
    ./configure --prefix=`pwd`/depends/arm-linux-gnueabihf --with-gui=no --without-miniupnpc --disable-zmq
    @@ -83,7 +85,7 @@ EOL

    ### 3. Create systemd service

    _change username __SOMEUSER__ to yours_
    _Change username `SOMEUSER` to yours_

    ```
    cat > /etc/systemd/system/bulwarkd.service << EOL
    @@ -114,7 +116,7 @@ sudo systemctl enable bulwarkd
    sudo systemctl start bulwarkd
    ```

    ### 5. Check wallet status (will take some time to sync blocks):
    ### 5. Check wallet status (will take some time to sync blocks)

    ```
    watch bulwark-cli getinfo
  7. 2b revised this gist Jul 20, 2018. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion bulwarkd_armhf.md
    Original file line number Diff line number Diff line change
    @@ -27,7 +27,7 @@ cd Bulwark
    git checkout 1.3.1
    ```

    ### 5. Pull all build dependencies
    ### 5. Pull and build all dependencies

    ```
    cd depends
  8. 2b revised this gist Jul 20, 2018. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion bulwarkd_armhf.md
    Original file line number Diff line number Diff line change
    @@ -20,7 +20,7 @@ sudo apt-get install g++-arm-linux-gnueabihf
    git clone https://github.com/bulwark-crypto/Bulwark.git
    ```

    ### 4. Switch branch to specific version
    ### 4. Switch branch to specific wallet version

    ```
    cd Bulwark
  9. 2b revised this gist Jul 20, 2018. 1 changed file with 11 additions and 9 deletions.
    20 changes: 11 additions & 9 deletions bulwarkd_armhf.md
    Original file line number Diff line number Diff line change
    @@ -2,39 +2,39 @@

    ## Build successful tested on Ubuntu Server 18.04 LTS (x86-64)

    ### 1. First install build essential packages (for non-GUI wallet):
    ### 1. First install build essential packages (for non-GUI wallet)

    ```
    sudo apt-get install build-essential libtool autotools-dev automake pkg-config libssl-dev libevent-dev bsdmainutils python3 libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-program-options-dev libboost-test-dev libboost-thread-dev git
    ```

    ### 2. Install ARM cross compiler toolchain:
    ### 2. Install ARM cross compiler toolchain

    ```
    sudo apt-get install g++-arm-linux-gnueabihf
    ```

    ### 3. Clone bulwark repo:
    ### 3. Clone bulwark repo

    ```
    git clone https://github.com/bulwark-crypto/Bulwark.git
    ```

    ### 4. Switch branch to specific version:
    ### 4. Switch branch to specific version

    ```
    cd Bulwark
    git checkout 1.3.1
    ```

    ### 5. Pull all build dependencies:
    ### 5. Pull all build dependencies

    ```
    cd depends
    make HOST=arm-linux-gnueabihf NO_QT=1 NO_UPNP=1 -j4
    ```

    ### 6. Generate configure file:
    ### 6. Generate configure file

    ```
    cd ..
    @@ -47,13 +47,13 @@ cd ..
    ./configure --prefix=`pwd`/depends/arm-linux-gnueabihf --with-gui=no --without-miniupnpc --disable-zmq
    ```

    ### 8. Compile using all cores:
    ### 8. Compile using all cores

    ```
    make -j$(nproc)
    ```

    ### 9. Find built in last step binaries and manual copy them to RPi 2 device:
    ### 9. Find built in last step binaries and manual copy them to RPi 2 device

    ```
    find src -maxdepth 1 -type f -executable -exec file {} \; | grep -Eo "^([^,]+,){6}"
    @@ -81,7 +81,9 @@ rpcpassword=some_strong_password
    EOL
    ```

    ### 3. Create systemd service (change username SOMEUSER to yours)
    ### 3. Create systemd service

    _change username __SOMEUSER__ to yours_

    ```
    cat > /etc/systemd/system/bulwarkd.service << EOL
  10. 2b revised this gist Jul 20, 2018. 1 changed file with 47 additions and 21 deletions.
    68 changes: 47 additions & 21 deletions bulwarkd_armhf.md
    Original file line number Diff line number Diff line change
    @@ -1,67 +1,89 @@
    Cross-compilling Bulwark wallet for armhf architecture (Raspberry Pi 2)
    # Cross-compilling Bulwark wallet for armhf architecture (Raspberry Pi 2)

    Build successful tested on Ubuntu Server 18.04 LTS (x86-64)
    ## Build successful tested on Ubuntu Server 18.04 LTS (x86-64)

    1. First install build essential packages (for non-GUI wallet):
    ### 1. First install build essential packages (for non-GUI wallet):

    ```
    sudo apt-get install build-essential libtool autotools-dev automake pkg-config libssl-dev libevent-dev bsdmainutils python3 libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-program-options-dev libboost-test-dev libboost-thread-dev git
    ```

    2. Install ARM cross compiler toolchain:
    ### 2. Install ARM cross compiler toolchain:

    ```
    sudo apt-get install g++-arm-linux-gnueabihf
    ```

    3. Clone bulwark repo:
    ### 3. Clone bulwark repo:

    ```
    git clone https://github.com/bulwark-crypto/Bulwark.git
    ```

    4. Switch branch to specific version:
    ### 4. Switch branch to specific version:

    ```
    cd Bulwark
    git checkout 1.3.1
    ```

    5. Pull all build dependencies:
    ### 5. Pull all build dependencies:

    ```
    cd depends
    make HOST=arm-linux-gnueabihf NO_QT=1 NO_UPNP=1 -j4
    ```

    6. Generate configure file:
    ### 6. Generate configure file:

    ```
    cd ..
    ./autogen.sh
    ```

    7. Change some autogenerated options (if you need so). Below disabled graphical UI, UPNP (firewall-jumping support) and ZMQ notifications.
    ### 7. Change some autogenerated options (if you need so). Below disabled graphical UI, UPNP (firewall-jumping support) and ZMQ notifications.

    ```
    ./configure --prefix=`pwd`/depends/arm-linux-gnueabihf --with-gui=no --without-miniupnpc --disable-zmq
    ```

    8. Compile using all cores:
    ### 8. Compile using all cores:

    ```
    make -j$(nproc)
    ```

    9. Find built in last step binaries, and manual copy them to RPi 2 device:
    ### 9. Find built in last step binaries and manual copy them to RPi 2 device:

    ```
    find src -maxdepth 1 -type f -executable -exec file {} \; | grep -Eo "^([^,]+,){6}"
    ```


    ## On RPi 2 device (tested with ArchLinuxARM-rpi-2)

    On RPi 2 device (tested with ArchLinuxARM-rpi-2)
    _Better to do all steps from non-root user_

    Better to do all steps from non-root user

    1. Copy binaries to system directories
    ### 1. Copy binaries to system directories

    ```
    sudo cp bulwarkd /usr/local/bin
    sudo cp bulwark-cli /usr/local/bin
    sudo cp bulwark-tx /usr/local/bin
    ```

    2. Write required parameters to bulwark.conf (also add staking=1 if you want to stake coins)
    ### 2. Write required parameters to bulwark.conf (also add staking=1 if you want to stake coins)

    ```
    cat > ~/.bulwark/bulwark.conf << EOL
    rpcuser=bulwark
    rpcpassword=some_strong_password
    EOL
    ```

    3. Create systemd service (change username SOMEUSER to yours)
    ### 3. Create systemd service (change username SOMEUSER to yours)

    ```
    cat > /etc/systemd/system/bulwarkd.service << EOL
    [Unit]
    Description=Bulwarks's distributed currency daemon
    @@ -81,13 +103,17 @@ StartLimitBurst=10
    [Install]
    WantedBy=multi-user.target
    EOL
    ```

    4. Activate and run service
    ### 4. Activate and run service

    ```
    sudo systemctl enable bulwarkd

    sudo systemctl start bulwarkd
    ```

    5. Check wallet status (will take some time to sync blocks):
    ### 5. Check wallet status (will take some time to sync blocks):

    watch bulwark-cli getinfo
    ```
    watch bulwark-cli getinfo
    ```
  11. 2b created this gist Jul 20, 2018.
    93 changes: 93 additions & 0 deletions bulwarkd_armhf.md
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,93 @@
    Cross-compilling Bulwark wallet for armhf architecture (Raspberry Pi 2)

    Build successful tested on Ubuntu Server 18.04 LTS (x86-64)

    1. First install build essential packages (for non-GUI wallet):

    sudo apt-get install build-essential libtool autotools-dev automake pkg-config libssl-dev libevent-dev bsdmainutils python3 libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-program-options-dev libboost-test-dev libboost-thread-dev git

    2. Install ARM cross compiler toolchain:

    sudo apt-get install g++-arm-linux-gnueabihf

    3. Clone bulwark repo:

    git clone https://github.com/bulwark-crypto/Bulwark.git

    4. Switch branch to specific version:

    cd Bulwark
    git checkout 1.3.1

    5. Pull all build dependencies:

    cd depends
    make HOST=arm-linux-gnueabihf NO_QT=1 NO_UPNP=1 -j4

    6. Generate configure file:

    cd ..
    ./autogen.sh

    7. Change some autogenerated options (if you need so). Below disabled graphical UI, UPNP (firewall-jumping support) and ZMQ notifications.

    ./configure --prefix=`pwd`/depends/arm-linux-gnueabihf --with-gui=no --without-miniupnpc --disable-zmq

    8. Compile using all cores:

    make -j$(nproc)

    9. Find built in last step binaries, and manual copy them to RPi 2 device:

    find src -maxdepth 1 -type f -executable -exec file {} \; | grep -Eo "^([^,]+,){6}"



    On RPi 2 device (tested with ArchLinuxARM-rpi-2)

    Better to do all steps from non-root user

    1. Copy binaries to system directories

    sudo cp bulwarkd /usr/local/bin
    sudo cp bulwark-cli /usr/local/bin
    sudo cp bulwark-tx /usr/local/bin

    2. Write required parameters to bulwark.conf (also add staking=1 if you want to stake coins)

    cat > ~/.bulwark/bulwark.conf << EOL
    rpcuser=bulwark
    rpcpassword=some_strong_password
    EOL

    3. Create systemd service (change username SOMEUSER to yours)

    cat > /etc/systemd/system/bulwarkd.service << EOL
    [Unit]
    Description=Bulwarks's distributed currency daemon
    After=network.target
    [Service]
    Type=forking
    User=SOMEUSER
    WorkingDirectory=/home/SOMEUSER
    PIDFile=/home/SOMEUSER/.bulwark/bulwarkd.pid
    ExecStart=/usr/local/bin/bulwarkd -daemon -conf=/home/SOMEUSER/.bulwark/bulwark.conf -datadir=/home/SOMEUSER/.bulwark
    ExecStop=/usr/local/bin/bulwark-cli -conf=/home/SOMEUSER/.bulwark/bulwark.conf -datadir=/home/SOMEUSER/.bulwark stop
    Restart=on-failure
    RestartSec=1m
    StartLimitIntervalSec=5m
    StartLimitInterval=5m
    StartLimitBurst=10
    [Install]
    WantedBy=multi-user.target
    EOL

    4. Activate and run service

    sudo systemctl enable bulwarkd

    sudo systemctl start bulwarkd

    5. Check wallet status (will take some time to sync blocks):

    watch bulwark-cli getinfo