<aside> ⛓️ The Brickprotocol is the public and permissioned blockchain handling the real estate assets and transactions from Brickwise. It is based on the open-source project waves protocol. The blockchain is an advanced proof of stake blockchain.

</aside>

Important Links

Waves Tech

Brickwise - Digitale Immobilieninvestments ab € 100

Nodes and public access

The network is operated by investors and stakeholders of Brickwise. Everyone can check the transactions and even run a node (public blockchain). But only investors can participate in the proof of stake block forging algorithm (permission blockchain). The blockchain can be seen here: https://explorer.brickprotocol.com/

Important steps to run your own Node: This guide is explanatory written for an Ubuntu Server.

  1. Rent a virtual linux server from any provider; important is that you have admin (root) rights and that you also have access to an external ip address (this is only needed for an forging node).

    The minimum requirements for the node are 2 vCPU cores and 2 GB of RAM, you will need about 1 GB of Diskspace.

    Some example servers:

    <aside> ⚠️ If you use a local or cloud server be sure that you also add a WAN forwarding to the 6860 Port. The used IP-Address is always the WAN Address

    </aside>

  2. Update the server and install java

    apt-get update
    apt-get upgrade
    apt-get install openjdk-8-jre
    
  3. Download and install the latest waves node version Get the newest waves_x_all.deb version from here:

    # e.g. with version 1.4.8
    wget <https://github.com/wavesplatform/Waves/releases/download/v1.4.8/waves_1.4.8_all.deb>
    dpkg -i waves_1.4.8_all.deb
    
  4. Replace the current waves config with the new one The config can be found under /etc/waves/waves.conf You have to replace the <YOUR_IP_ADDRESS> and the <SOME_PASSWORD> value in the config before replacing it.

    waves {
      max-cache-size = 10
      logging-level = DEBUG
      network {
        bind-address = "<YOUR_IP_ADDRESS>"
        port = 6860
        known-peers = [
            "23.88.115.119:6860"
            "23.88.104.106:6860"
        ]
        node-name = "<YOUR_IP_ADDRESS>"
        declared-address = "<YOUR_IP_ADDRESS>:6860"
      }
      wallet {
        password = "<SOME_PASSWORD>"
        # seed = ""
      }
      blockchain {
        type = CUSTOM
        custom {
          address-scheme-character = B
          functionality {
            double-features-periods-after-height = 0
            pre-activated-features = null
            pre-activated-features = {1 = 0, 2 = 0, 3 = 0, 4 = 0, 5 = 0, 6 = 0, 7 = 0, 8 = 0, 9 = 0, 10 = 0, 11 = 0, 12 = 0, 13 = 0, 14 = 0, 15 = 0}
          }
          genesis {
            average-block-delay = 60s
            initial-base-target = 1000000
            timestamp = 1632683712621 # 2021-09-26T19:15:12.621Z
            block-timestamp = 1632683712621 # 2021-09-26T19:15:12.621Z
            signature = "4H7FyXH9UQUKCaC5Hpg1a2AXJVMMpnmEyvuh4oYhxc87kqpHEtmrN7r4SBexRQcXgRFWje7UsqzEJ4miaajPoaSb"
            initial-balance = 240000900000000000
            transactions = [
              {recipient = "3ExDr9z1CXcpBJeihRoxkiWJzkg7byKuJx7", amount = 100000000000},
              {recipient = "3EhRZafwG1HdjPKi4AAL5adcmG2mHPkwsvk", amount = 100000000000},
              {recipient = "3ExnF5Wee9NMHMMZ5S9SPK2KzMroo2rgWEk", amount = 100000000000},
              {recipient = "3Ecv1UCWSV7vMdKAsPJJvdKgJPytEn7haPf", amount = 100000000000},
              {recipient = "3EnATX3omneQnv6rArqvdJkBRvcy1eJZzdx", amount = 100000000000},
              {recipient = "3EdQMTC84zy9NySF8DfTq5kTfp4ZQo1xUct", amount = 100000000000},
              {recipient = "3EjsY9wUz4UF2EqxHJQDaW4GD1ficZWTpKJ", amount = 100000000000},
              {recipient = "3EvNjj61Tyqp3ByWxKFqCj5AUenHa8wyukx", amount = 100000000000},
              {recipient = "3ExqqzBFtRtwHzDBchfSAWXS9JQeKaWsMVG", amount = 100000000000},
              {recipient = "3Ef3mqQK1FA8pd6xPPLGK7MNfTpcgg3hJCr", amount = 10000000000000000},
              {recipient = "3EgSUUoEinwEnVEAZGVTEnZG6Afyt4GGpGQ", amount = 10000000000000000},
              {recipient = "3EtJWffasVyPhvByz3WZKzHydLEixirsA7j", amount = 10000000000000000},
              {recipient = "3EtAUM8QJffxcJsKRcwT8e5RaRNqJmuBU7g", amount = 10000000000000000},
              {recipient = "3EaRpF1GXRGqtPpWUfGDQhF3C9Tgdy4PnX8", amount = 100000000000000000},
              {recipient = "3ExvtRennf7n2JCpNj3gkUvtHAEZ264CjJe", amount = 100000000000000000}
            ]
          }
        }
      }
      mining {
        quorum = 0 # just to start - delete when second node is online
        micro-block-interval = 2s
        min-micro-block-age = 1s
      }
      rest-api {
        enable = no
        bind-address = "127.0.0.1"
        port = 6868
        api-key-hash = ""
        api-key-different-host = yes
      }
      rewards {
        desired = 0
        voting-interval = 1000
        voting-threshold = 501
        voting-interval-start = 1000
      }
    }
    
  5. Restart the server and check if it’s working correctly

    service waves restart
    journalctl -u waves
    

    If everything works correctly the blockchain is now synced:

    Untitled

  6. set up the firewall (optional)

    ufw limit ssh
    ufw allow 6860
    ufw enable
    

Now the node is setup; of you are an investor and if you want to operate a forging node just write an email with your nodes address to: [email protected]

Further Links

Node Owner Guide | Waves documentation