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-Fileand change some of it
config file:
# 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:
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.