Post
Topic
Board Announcements (Altcoins)
Re: WAVES. Ultimate crypto-tokens blockchain platform.
by
mikelv
on 03/08/2017, 13:32:04 UTC
ok.. could someone point to me a noob step by step guide to setup a full node for mainnet.
I've been following the official guide and it came out error.
I'm trying to setup in windows.

getting the config from https://github.com/wavesplatform/Waves/wiki/Waves-Node-Configuration-File
and change some of it

config file:
Code:
# Waves Node settings section.
waves {
  # Node base directory.
  directory = "c:/path/to/waves"

  # Application logging level. Could be DEBUG | INFO | WARN | ERROR. The default value is INFO.
  logging-level = INFO

  # P2P Network settings.
  network {
    # Peers and blacklist storage file.
    file = ${waves.directory}"/data/peers.dat"

    # Network address.
    bind-address = "0.0.0.0"

    # Port number.
    port = 6863

    # Node name to send during a handshake. Comment this string out to set random node name.
    #node-name = "some-node-name"

    # String with IP address and port to send as an external address during a handshake. Could be set automatically in case of UPnP is enabled.
    declared-address = ""

    # A nonce to send during a handshake. Should be different if few nodes run on the same external IP address. Comment this out to set random nonce.
    #nonce = 0

    # List of IP addresses of well-known nodes.
    known-peers = ["52.30.47.67:6863", "52.28.66.217:6863", "52.77.111.219:6863", "52.51.92.182:6863"]

    # Restricts node communication to local machine.
    local-only = no

    # How long the information about peer stays in the database after the last communication with it.
    peers-data-residence-time = 1d

    # For how long a peer stays in the blacklist after getting in it.
    black-list-residence-time = 10m

    # A number of network connections handled simultaneously.
    max-connections = 30

    # Timeout on network communications with peers.
    connection-timeout = 30s

    # Network buffer size.
    outbound-buffer-size = 16M

    # The minimal ephemeral port number used to distinguish incoming connections.
    min-ephemeral-port-number = 35368

    # The size of a circular buffer to store unverified peers.
    max-unverified-peers = 1000

    # The period of time between broadcasts of the connected peers' list.
    peers-broadcast-interval = 2m

    # The number of incorrect packets received from a peer to blacklist it.
    black-list-threshold = 50

    # The number of unrequested packets received from a peer to blacklist the peer.
    unrequested-packets-threshold = 100

    # UPnP settings.
    upnp {
      # Enable or disable UPnP tunnel creation. Use this setting only if your router/gateway supports it. This is useful only if your node is running in a home network. And completely unuseful if your node is in the cloud.
      enable = no

      # UPnP timeouts.
      gateway-timeout = 7s
      discover-timeout = 3s
    }
  }

  # Wallet settings.
  wallet {
    # The path to wallet file.
    file = ${waves.directory}"/wallet/wallet.dat"

    # Password to protect wallet file.
    password = "some string as password"

    # Wallet seed as a BASE58 string.
    seed = ""
  }

  # Blockchain settings.
  blockchain {
    # The path to blockchain file.
    file = ${waves.directory}"/data/blockchain.dat"

    # Blockchain type. Could be TESTNET | MAINNET | CUSTOM. The default value is TESTNET.
    type = MAINNET

    # The 'custom' section should be uncommented and set only in case of CUSTOM blockchain type is selected. It's impossible to overwrite predefined 'testnet' and 'mainnet' configurations.
    #    custom {
    #      # Address feature character. Used to prevent mixin up addresses from different networks.
    #      address-scheme-character = "C"
    #
    #      # Timestamps/heights of activation/deactivation of different funcions.
    #      functionality {
    #        allow-temporary-negative-until = 0
    #        allow-invalid-payment-transactions-by-timestamp = 0
    #        require-sorted-transactions-after = 0
    #        generation-balance-depth-from-50-to-1000-after-height = 0
    #        minimal-generating-balance-after = 0
    #        allow-transactions-from-future-until = 0
    #        allow-unissued-assets-until = 0
    #        allow-burn-transaction-after = 0
    #        require-payment-unique-id-after = 0
    #        allow-exchange-transaction-after: 0
    #        allow-createalias-transaction-after: 0
    #      }
    #
    #      # List of genesis transactions
    #      genesis {
    #        # Timestamp of genesis block and transactions in it
    #        timestamp = 1460678400000
    #
    #        # Genesis block signature
    #        signature = "BASE58BLOCKSIGNATURE"
    #
    #        # Initial balance in smallest units
    #        initial-balance = 100000000000000
    #
    #        # Initial base target
    #        initial-base-target =153722867
    #
    #        # Average delay between blocks
    #        average-block-delay = 60s
    #
    #        # List of genesis transactions
    #        transactions = [
    #          {recipient = "BASE58ADDRESS1", amount = 50000000000000},
    #          {recipient = "BASE58ADDRESS2", amount = 50000000000000}
    #        ]
    #      }
    #    }
  }

  # Checkpoints settings.
  checkpoints {
    # The public key for checkpoints verification. The default value is the TESTNET public key.
    public-key = "4PvoqxpWi7kCA9N3UXcEB9CZx4iPPeHX9jSYdAioPhnr"
  }

  # Transaction fees for different types of transactions.
  fees {
    payment {
      WAVES = 100000
    }
    issue {
      WAVES = 100000000
    }
    transfer {
      WAVES = 100000
    }
    reissue {
      WAVES = 100000
    }
    burn {
      WAVES = 100000
    }
    exchange {
      WAVES = 100000
    }
    lease {
      WAVES = 100000
    }
    lease-cancel {
      WAVES = 100000
    }
    create-alias {
      WAVES = 100000
    }
  }

  # Matcher settings.
  matcher {
    # Enable/disable matcher.
    enable = yes

    # Matcher's account address.
    account = ""

    # Matcher REST API bind address.
    bind-address = "127.0.0.1"

    # Matcher REST API port.
    port = 6886

    # Minimum allowed order fee.
    min-order-fee = 100000

    # A fee of order match transaction.
    order-match-tx-fee = 100000

    # Matcher's directories.
    journal-directory = ${waves.directory}"/journal"
    snapshots-directory = ${waves.directory}"/snapshots"

    # Snapshot creation interval.
    snapshots-interval = 1d

    # A maximum number of open orders.
    max-open-orders = 1000

    # Base assets used as price assets.
    price-assets: []

    # Predefined ordering of base assets.
    predefined-pairs: []
  }

  # New block generator settings.
  miner {
    # Enable/disable block generation.
    enable = yes

    # Enable/disable off-line block generation.
    offline = no

    # The number of connected peers required to start block generation.
    quorum = 1

    # New block generation interval.
    generation-delay = 15s

    # The maximum age of the last block to allow generation.
    interval-after-last-block-then-generation-is-allowed = 1d

    # Enable/disable TF-Like scheduling.
    tf-like-scheduling = yes
  }

  # Node's REST API settings.
  rest-api {
    # Enable/disable REST API.
    enable = yes

    # Network address to bind.
    bind-address = "127.0.0.1"

    # Port to listen to REST API requests.
    port = 6869

    # Hash of API key string. Default api-key-hash value is `ridethewaves!`
    api-key-hash = ""

    # Enable/disable CORS support.
    cors = yes
  }

  # Nodes' synchronisation settings.
  synchronization {

    # The number of blocks that could be rolled back in case of a fork detection. If the fork is longer than this the rollback is impossible.
    max-rollback = 100

    # The size of temporary storage for forked blocks.
    max-chain-length = 101

    # Load only entire chain from peer then requested.
    load-entire-chain = yes

    # Timeout to receive all requested blocks.
    synchronization-timeout = 30s

    # Stick to one peer while receiving requested blocks.
    pin-to-initial-peer = yes

    # The number of retries of synchronisation before sending the peer to the blacklist.
    retries-before-blacklisting = 2

    # The number of retries of synchronisation operations.
    operation-retires = 3

    # Score broadcast interval.
    score-broadcast-interval = 30s

    # Time to live for broadcasted score.
    score-ttl = 90s
  }

  # Unverified transactions pool settings.
  utx {

    # Pool size.
    size = 10000

    # Random transaction broadcast interval.
    broadcast-interval = 30s
  }
}

Try to run it if it can start running first and came out

error:
Code:
2017-08-03 19:59:18 INFO  [main] c.w.Application$ - Starting...
Exception in thread "main" java.util.NoSuchElementException: No value found for
'CreateAliasTransaction'
        at scala.Enumeration.$anonfun$withName$2(Enumeration.scala:125)
        at scala.Enumeration.withName(Enumeration.scala:125)
        at com.wavesplatform.settings.FeesSettings$.toTxType(FeesSettings.scala:20)
        at com.wavesplatform.settings.FeesSettings$.toFeeSettings(FeesSettings.scala:36)
        at com.wavesplatform.settings.FeesSettings$.$anonfun$fromConfig$2(FeesSettings.scala:25)
        at scala.collection.TraversableOnce.$anonfun$foldLeft$1(TraversableOnce.scala:157)
        at scala.collection.TraversableOnce.$anonfun$foldLeft$1$adapted(TraversableOnce.scala:157)
        at scala.collection.Iterator.foreach(Iterator.scala:929)
        at scala.collection.Iterator.foreach$(Iterator.scala:929)
        at scala.collection.AbstractIterator.foreach(Iterator.scala:1406)
        at scala.collection.IterableLike.foreach(IterableLike.scala:71)
        at scala.collection.IterableLike.foreach$(IterableLike.scala:70)
        at scala.collection.AbstractIterable.foreach(Iterable.scala:54)
        at scala.collection.TraversableOnce.foldLeft(TraversableOnce.scala:157)
        at scala.collection.TraversableOnce.foldLeft$(TraversableOnce.scala:155)

        at scala.collection.AbstractTraversable.foldLeft(Traversable.scala:104)
        at com.wavesplatform.settings.FeesSettings$.fromConfig(FeesSettings.scala:24)
        at com.wavesplatform.settings.WavesSettings$.fromConfig(WavesSettings.scala:38)
        at com.wavesplatform.Application$.main(Application.scala:129)
        at com.wavesplatform.Application.main(Application.scala)

The official guide doesn't seem to have much explanation.

Could someone please point me whats wrong with the config file.

Thank you.

I'd recommend joining the waves slack https://wavesplatform.herokuapp.com/ and posting your question in the #fullnode channel.