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.
Just ran into this myself...the answer is in this thread. What you will have to do is remove or comment out a section:
I have commented out (using the #) in my conf file. Hope this helps.