wavesplatform / Waves

⛓️ Reference Waves Blockchain Node (client) implementation on Scala
https://wavesplatform.com/
MIT License
1.17k stars 418 forks source link

Multiple InvalidAddress errors running waves - help needed #887

Closed omegaoracle closed 6 years ago

omegaoracle commented 6 years ago

Good day,

I was following the tutorial to set up a node here http://www.waveswiki.org/index.php?title=Tutorials:_How_to_set_up_a_Full_Node

On Step 3 - Running waves, I encountered multiple InvalidAddress errors

[cmd] java -jar waves.jar waves.conf 2018-03-05 04:01:47,967 INFO [main] c.w.Application$ - Starting... 2018-03-05 04:01:48,617 INFO [main] kamon.Kamon$Instance - Initializing Kamon... 2018-03-05 04:01:48,980 INFO [ctor.default-dispatcher-3] a.event.slf4j.Slf4jLogger - Slf4jLogger started 2018-03-05 04:01:49,187 INFO [ctor.default-dispatcher-5] a.event.slf4j.Slf4jLogger - Slf4jLogger started 2018-03-05 04:01:49,197 INFO [main] c.w.Application$ - Waves v0.9.2 Blockchain Id: W 2018-03-05 04:01:50,299 ERROR [main] s.t.NgHistoryReader - java.lang.Exception: InvalidAddress(Data from other network: expected: 87(W, actual: 84(T) at scorex.transaction.assets.TransferTransaction$.$anonfun$parseTail$8(TransferTransaction.scala:85) at scala.util.Either.fold(Either.scala:189) at scorex.transaction.assets.TransferTransaction$.$anonfun$parseTail$1(TransferTransaction.scala:85) at scala.util.Try$.apply(Try.scala:209) at scorex.transaction.assets.TransferTransaction$.parseTail(TransferTransaction.scala:67) at scorex.transaction.TransactionParser$.parseBytes(TransactionParser.scala:46) at scorex.block.Block$.$anonfun$transParseBytes$2(Block.scala:217) at scorex.block.Block$.$anonfun$transParseBytes$2$adapted(Block.scala:213) at scala.collection.TraversableOnce.$anonfun$foldLeft$1(TraversableOnce.scala:157) at scala.collection.TraversableOnce.$anonfun$foldLeft$1$adapted(TraversableOnce.scala:157) at scala.collection.immutable.Range.foreach(Range.scala:156) 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 scorex.block.Block$.$anonfun$transParseBytes$1(Block.scala:213) at scala.util.Try$.apply(Try.scala:209) at scorex.block.Block$.transParseBytes(Block.scala:202) at scorex.block.Block$.$anonfun$parseBytes$3(Block.scala:227) at scala.util.Success.flatMap(Try.scala:247) at scala.util.Try$WithFilter.flatMap(Try.scala:138) at scorex.block.Block$.parseBytes(Block.scala:226) at com.wavesplatform.history.HistoryWriterImpl.$anonfun$blockAt$1(HistoryWriterImpl.scala:194) at scala.Option.map(Option.scala:146) at com.wavesplatform.history.HistoryWriterImpl.blockAt(HistoryWriterImpl.scala:194) at scorex.transaction.NgHistoryReader.$anonfun$blockAt$1(NgHistoryReader.scala:74) at scorex.utils.Synchronized.synchronizeOperation(Synchronized.scala:90) at scorex.utils.Synchronized.synchronizeOperation$(Synchronized.scala:87) at scorex.transaction.NgHistoryReader.synchronizeOperation(NgHistoryReader.scala:14) at scorex.utils.Synchronized.read(Synchronized.scala:75) at scorex.utils.Synchronized.read$(Synchronized.scala:74) at scorex.transaction.NgHistoryReader.read(NgHistoryReader.scala:14) at scorex.transaction.NgHistoryReader.blockAt(NgHistoryReader.scala:70) at scorex.transaction.History$HistoryExt.$anonfun$lastBlock$1(History.scala:100) at scorex.utils.Synchronized.synchronizeOperation(Synchronized.scala:90) at scorex.utils.Synchronized.synchronizeOperation$(Synchronized.scala:87) at scorex.transaction.NgHistoryReader.synchronizeOperation(NgHistoryReader.scala:14) at scorex.utils.Synchronized.read(Synchronized.scala:75) at scorex.utils.Synchronized.read$(Synchronized.scala:74) at scorex.transaction.NgHistoryReader.read(NgHistoryReader.scala:14) at scorex.transaction.History$HistoryExt.lastBlock(History.scala:99) at com.wavesplatform.state2.BlockchainUpdaterImpl.(BlockchainUpdaterImpl.scala:72) at com.wavesplatform.state2.BlockchainUpdaterImpl$.apply(BlockchainUpdaterImpl.scala:326) at com.wavesplatform.history.StorageFactory$.$anonfun$apply$2(StorageFactory.scala:34) at scala.util.Success.$anonfun$map$1(Try.scala:251) at scala.util.Success.map(Try.scala:209) at com.wavesplatform.history.StorageFactory$.$anonfun$apply$1(StorageFactory.scala:32) at scala.util.Success.flatMap(Try.scala:247) at com.wavesplatform.history.StorageFactory$.apply(StorageFactory.scala:31) at com.wavesplatform.Application.(Application.scala:64) at com.wavesplatform.Application$.$anonfun$main$3(Application.scala:369) at com.wavesplatform.Application$.$anonfun$main$3$adapted(Application.scala:343) at com.wavesplatform.actor.RootActorSystem$.start(RootActorSystem.scala:25) at com.wavesplatform.Application$.main(Application.scala:343) at com.wavesplatform.Application.main(Application.scala)

2018-03-05 04:01:50,300 ERROR [main] s.t.NgHistoryReader - java.lang.Exception: InvalidAddress(Data from other network: expected: 87(W, actual: 84(T) at scorex.transaction.assets.TransferTransaction$.$anonfun$parseTail$8(TransferTransaction.scala:85) at scala.util.Either.fold(Either.scala:189) at scorex.transaction.assets.TransferTransaction$.$anonfun$parseTail$1(TransferTransaction.scala:85) at scala.util.Try$.apply(Try.scala:209) at scorex.transaction.assets.TransferTransaction$.parseTail(TransferTransaction.scala:67) at scorex.transaction.TransactionParser$.parseBytes(TransactionParser.scala:46) at scorex.block.Block$.$anonfun$transParseBytes$2(Block.scala:217) at scorex.block.Block$.$anonfun$transParseBytes$2$adapted(Block.scala:213) at scala.collection.TraversableOnce.$anonfun$foldLeft$1(TraversableOnce.scala:157) at scala.collection.TraversableOnce.$anonfun$foldLeft$1$adapted(TraversableOnce.scala:157) at scala.collection.immutable.Range.foreach(Range.scala:156) 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 scorex.block.Block$.$anonfun$transParseBytes$1(Block.scala:213) at scala.util.Try$.apply(Try.scala:209) at scorex.block.Block$.transParseBytes(Block.scala:202) at scorex.block.Block$.$anonfun$parseBytes$3(Block.scala:227) at scala.util.Success.flatMap(Try.scala:247) at scala.util.Try$WithFilter.flatMap(Try.scala:138) at scorex.block.Block$.parseBytes(Block.scala:226) at com.wavesplatform.history.HistoryWriterImpl.$anonfun$blockAt$1(HistoryWriterImpl.scala:194) at scala.Option.map(Option.scala:146) at com.wavesplatform.history.HistoryWriterImpl.blockAt(HistoryWriterImpl.scala:194) at scorex.transaction.NgHistoryReader.$anonfun$blockAt$1(NgHistoryReader.scala:74) at scorex.utils.Synchronized.synchronizeOperation(Synchronized.scala:90) at scorex.utils.Synchronized.synchronizeOperation$(Synchronized.scala:87) at scorex.transaction.NgHistoryReader.synchronizeOperation(NgHistoryReader.scala:14) at scorex.utils.Synchronized.read(Synchronized.scala:75) at scorex.utils.Synchronized.read$(Synchronized.scala:74) at scorex.transaction.NgHistoryReader.read(NgHistoryReader.scala:14) at scorex.transaction.NgHistoryReader.blockAt(NgHistoryReader.scala:70) at scorex.transaction.History$HistoryExt.$anonfun$lastBlock$1(History.scala:100) at scorex.utils.Synchronized.synchronizeOperation(Synchronized.scala:90) at scorex.utils.Synchronized.synchronizeOperation$(Synchronized.scala:87) at scorex.transaction.NgHistoryReader.synchronizeOperation(NgHistoryReader.scala:14) at scorex.utils.Synchronized.read(Synchronized.scala:75) at scorex.utils.Synchronized.read$(Synchronized.scala:74) at scorex.transaction.NgHistoryReader.read(NgHistoryReader.scala:14) at scorex.transaction.History$HistoryExt.lastBlock(History.scala:99) at com.wavesplatform.state2.BlockchainUpdaterImpl.(BlockchainUpdaterImpl.scala:72) at com.wavesplatform.state2.BlockchainUpdaterImpl$.apply(BlockchainUpdaterImpl.scala:326) at com.wavesplatform.history.StorageFactory$.$anonfun$apply$2(StorageFactory.scala:34) at scala.util.Success.$anonfun$map$1(Try.scala:251) at scala.util.Success.map(Try.scala:209) at com.wavesplatform.history.StorageFactory$.$anonfun$apply$1(StorageFactory.scala:32) at scala.util.Success.flatMap(Try.scala:247) at com.wavesplatform.history.StorageFactory$.apply(StorageFactory.scala:31) at com.wavesplatform.Application.(Application.scala:64) at com.wavesplatform.Application$.$anonfun$main$3(Application.scala:369) at com.wavesplatform.Application$.$anonfun$main$3$adapted(Application.scala:343) at com.wavesplatform.actor.RootActorSystem$.start(RootActorSystem.scala:25) at com.wavesplatform.Application$.main(Application.scala:343) at com.wavesplatform.Application.main(Application.scala)

2018-03-05 04:01:50,316 ERROR [main] c.w.actor.RootActorSystem$ - Error while initializing actor system wavesplatform java.lang.Exception: InvalidAddress(Data from other network: expected: 87(W, actual: 84(T) at scorex.transaction.assets.TransferTransaction$.$anonfun$parseTail$8(TransferTransaction.scala:85) at scala.util.Either.fold(Either.scala:189) at scorex.transaction.assets.TransferTransaction$.$anonfun$parseTail$1(TransferTransaction.scala:85) at scala.util.Try$.apply(Try.scala:209) at scorex.transaction.assets.TransferTransaction$.parseTail(TransferTransaction.scala:67) at scorex.transaction.TransactionParser$.parseBytes(TransactionParser.scala:46) at scorex.block.Block$.$anonfun$transParseBytes$2(Block.scala:217) at scorex.block.Block$.$anonfun$transParseBytes$2$adapted(Block.scala:213) at scala.collection.TraversableOnce.$anonfun$foldLeft$1(TraversableOnce.scala:157) at scala.collection.TraversableOnce.$anonfun$foldLeft$1$adapted(TraversableOnce.scala:157) at scala.collection.immutable.Range.foreach(Range.scala:156) 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 scorex.block.Block$.$anonfun$transParseBytes$1(Block.scala:213) at scala.util.Try$.apply(Try.scala:209) at scorex.block.Block$.transParseBytes(Block.scala:202) at scorex.block.Block$.$anonfun$parseBytes$3(Block.scala:227) at scala.util.Success.flatMap(Try.scala:247) at scala.util.Try$WithFilter.flatMap(Try.scala:138) at scorex.block.Block$.parseBytes(Block.scala:226) at com.wavesplatform.history.HistoryWriterImpl.$anonfun$blockAt$1(HistoryWriterImpl.scala:194) at scala.Option.map(Option.scala:146) at com.wavesplatform.history.HistoryWriterImpl.blockAt(HistoryWriterImpl.scala:194) at scorex.transaction.NgHistoryReader.$anonfun$blockAt$1(NgHistoryReader.scala:74) at scorex.utils.Synchronized.synchronizeOperation(Synchronized.scala:90) at scorex.utils.Synchronized.synchronizeOperation$(Synchronized.scala:87) at scorex.transaction.NgHistoryReader.synchronizeOperation(NgHistoryReader.scala:14) at scorex.utils.Synchronized.read(Synchronized.scala:75) at scorex.utils.Synchronized.read$(Synchronized.scala:74) at scorex.transaction.NgHistoryReader.read(NgHistoryReader.scala:14) at scorex.transaction.NgHistoryReader.blockAt(NgHistoryReader.scala:70) at scorex.transaction.History$HistoryExt.$anonfun$lastBlock$1(History.scala:100) at scorex.utils.Synchronized.synchronizeOperation(Synchronized.scala:90) at scorex.utils.Synchronized.synchronizeOperation$(Synchronized.scala:87) at scorex.transaction.NgHistoryReader.synchronizeOperation(NgHistoryReader.scala:14) at scorex.utils.Synchronized.read(Synchronized.scala:75) at scorex.utils.Synchronized.read$(Synchronized.scala:74) at scorex.transaction.NgHistoryReader.read(NgHistoryReader.scala:14) at scorex.transaction.History$HistoryExt.lastBlock(History.scala:99) at com.wavesplatform.state2.BlockchainUpdaterImpl.(BlockchainUpdaterImpl.scala:72) at com.wavesplatform.state2.BlockchainUpdaterImpl$.apply(BlockchainUpdaterImpl.scala:326) at com.wavesplatform.history.StorageFactory$.$anonfun$apply$2(StorageFactory.scala:34) at scala.util.Success.$anonfun$map$1(Try.scala:251) at scala.util.Success.map(Try.scala:209) at com.wavesplatform.history.StorageFactory$.$anonfun$apply$1(StorageFactory.scala:32) at scala.util.Success.flatMap(Try.scala:247) at com.wavesplatform.history.StorageFactory$.apply(StorageFactory.scala:31) at com.wavesplatform.Application.(Application.scala:64) at com.wavesplatform.Application$.$anonfun$main$3(Application.scala:369) at com.wavesplatform.Application$.$anonfun$main$3$adapted(Application.scala:343) at com.wavesplatform.actor.RootActorSystem$.start(RootActorSystem.scala:25) at com.wavesplatform.Application$.main(Application.scala:343) at com.wavesplatform.Application.main(Application.scala)

omegaoracle commented 6 years ago

Waves node settings

waves {

Node base directory

directory = ${user.home}"/waves" data-directory = ${waves.directory}"/data" leveldb-cache-size = 256M

P2P Network settings

network {

Peers and blacklist storage file

file = ${waves.directory}"/peers.dat"

# String with IP address and port to send as external address during handshake. Could be set automatically if UPnP
# is enabled.
#
# If `declared-address` is set, which is the common scenario for nodes running in the cloud, the node will just
# listen to incoming connections on `bind-address:port` and broadcast its `declared-address` to its peers. UPnP
# is supposed to be disabled in this scenario.
#
# If declared address is not set and UPnP is not enabled, the node will not listen to incoming connections at all.
#
# If declared address is not set and UPnP is enabled, the node will attempt to connect to an IGD, retrieve its
# external IP address and configure the gateway to allow traffic through. If the node succeeds, the IGD's external
# IP address becomes the node's declared address.
#
# In some cases, you may both set `decalred-address` and enable UPnP (e.g. when IGD can't reliably determine its
# external IP address). In such cases the node will attempt to configure an IGD to pass traffic from external port
# to `bind-address:port`. Please note, however, that this setup is not recommended.
# declared-address = "1.2.3.4:6863"

# Network address
bind-address = "0.0.0.0"

# Port number
port = 6863

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

# Node nonce to send during handshake. Should be different if few nodes runs 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"]

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

# How long peer stays in blacklist after getting in it
black-list-residence-time = 15m

# How many network inbound network connections can be made
max-inbound-connections = 30

# Number of outbound network connections
max-outbound-connections = 30

# Number of connections from single host
max-single-host-connections = 3

# Timeout on network communication with other peers
connection-timeout = 30s

# Size of circular buffer to store unverified (not properly handshaked) peers
max-unverified-peers = 100

# If yes the node requests peers and sends known peers
enable-peers-exchange = yes

# If yes the node can blacklist others
enable-blacklisting = yes

# How often connected peers list should be broadcasted
peers-broadcast-interval = 2m

# When accepting connection from remote peer, this node will wait for handshake for no longer than this value. If
# remote peer fails to send handshake within this interval, it gets blacklisted. Likewise, when connecting to a
# remote peer, this node will wait for handshake response for no longer than this value. If remote peer does not
# respond in a timely manner, it gets blacklisted.
handshake-timeout = 30s

suspension-residence-time = 1m

upnp {
  # Enable UPnP tunnel creation only if you router/gateway supports it. Useful if your node is runnin in home
  # network. Completely useless if you node is in cloud.
  enable = no

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

# Logs incoming and outgoing messages
traffic-logger {
  # Codes of transmitted messages to ignore. See MessageSpec.messageCode
  ignore-tx-messages = [23, 25] # BlockMessageSpec, TransactionMessageSpec

  # Codes of received messages to ignore. See MessageSpec.messageCode
  ignore-rx-messages = [25] # TransactionMessageSpec
}

}

Wallet settings

wallet {

Path to wallet file

file = ${waves.directory}"/wallet/wallet.dat"

# Password to protect wallet file
password = ""

# By default, the node will attempt to generate a new seed. To use a specific seed, uncomment the following line and
# specify your base58-encoded seed.
seed = ""

}

Blockchain settings

blockchain {

Max transactions per block diff, affects size of atomic persistence.

max-transactions-per-block-diff = 6000

# Amount of blocks in memory. Fast rollback is possible up to this value.
min-blocks-in-memory = 100

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

# 'custom' section present only if CUSTOM blockchain type is set. It's impossible to overwrite predefined 'testnet' and 'mainnet' configurations.
#    custom {
#      # Address feature character. Used to prevent mixing up addresses from different networks.
#      address-scheme-character = "C"
#
#      # Timestamps/heights of activation/deactivation of different functions.
#      functionality {
#
#        # Blocks period for feature checking and activation
#        feature-check-blocks-period = 10000
#
#        # Blocks required to accept feature
#        blocks-for-feature-activation = 9000
#
#        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
#        require-payment-unique-id-after = 0
#        block-version-3-after-height = 0
#        pre-activated-features {
#          1 = 100
#          2 = 200
#        }
#      }
#
#      # 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 {

Public key for checkpoints verification, default TESTNET public key

public-key = "4PvoqxpWi7kCA9N3UXcEB9CZx4iPPeHX9jSYdAioPhnr"

}

Transaction fees for different types of transactions

fees { issue { WAVES = 100000000 } transfer { WAVES = 100000 } mass-transfer {

Fee for MassTransfer transaction is calculated as

  # [transfer fee] + [mass transfer fee] * [number of transfers in transaction]
  WAVES = 50000
}
reissue {
  WAVES = 100000
}
burn {
  WAVES = 100000
}
exchange {
  WAVES = 300000
}
lease {
  WAVES = 100000
}
lease-cancel {
  WAVES = 100000
}
create-alias {
  WAVES = 100000
}

}

Matcher settings

matcher {

Enable/disable matcher

enable = no

# 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 = 300000

# Fee of order match transaction
order-match-tx-fee = 300000

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

leveldb-cache-size = ${waves.leveldb-cache-size}

# Snapshots creation interval
snapshots-interval = 1d

# Invalid/Expired orders cleanup interval
order-cleanup-interval = 5m

# Maximum allowed amount of open orders
max-open-orders = 1000

# Maximum allowed amount of orders retrieved via REST
rest-order-limit = 100

# Maximum orders stored in OrderHistory per address
max-orders-per-address = 1000

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

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

# Maximum difference with Matcher server time
max-timestamp-diff = 3h

# Blacklisted assets id
blacklisted-assets: []

# Blacklisted assets name
blacklisted-names: []

# Blacklisted addresses
blacklisted-addresses: []

}

New blocks generator settings

miner {

Enable/disable block generation

enable = yes

# Required number of connections (both incoming and outgoing) to attempt block generation. Setting this value to 0
# enables "off-line generation".
quorum = 1

# Enable block generation only in the last block is not older the given period of time
interval-after-last-block-then-generation-is-allowed = 1d

# Interval between microblocks
micro-block-interval = 5s

# Mininmum time interval between blocks
minimal-block-generation-offset = 1001ms

# Max amount of transactions in key block
max-transactions-in-key-block = 0

# Max amount of transactions in micro block
max-transactions-in-micro-block = 255

# Miner references the best microblock which is at least this age
min-micro-block-age = 6s

}

Node's REST API settings

rest-api {

Enable/disable REST API

enable = yes

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

# Port to listen to REST API requests
port = 6869

# Hash of API key string
api-key-hash = "H6nsiifwYKYEx6YzYD7woP1XCn72RVvx6tC1zjjLXqsu"

# Enable/disable CORS support
cors = yes

# Enable/disable X-API-Key from different host
api-key-different-host = no

}

Nodes synchronization settings

synchronization {

# How many blocks could be rolled back if fork is detected. If fork is longer than this rollback is impossible.
max-rollback = 100

# I don't know
max-chain-length = 101

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

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

# Time to wait for new score updates from the remote node
remote-score-debounce = 1s

# Settings for invalid blocks cache
invalid-blocks-storage {
  # Maximum elements in cache
  max-size = 30000

  # Time to store invalid blocks and blacklist their owners in advance
  timeout = 1d
}

# History replier caching settings
history-replier {
  # Max microblocks to cache
  max-micro-block-cache-size = 50

  # Max blocks to cache
  max-block-cache-size = 20
}

# Utx synchronizer caching settings
utx-synchronizer {
  # Max microblocks to cache
  network-tx-cache-size = 1000000

  # Max time an unconfirmed transaction lives in cache
  network-tx-cache-time = 10s

  # Max number of transactions in buffer. When the limit is reached, the node processes all transactions in batch
  max-buffer-size = 500

  # Max time for buffer. When time is out, the node processes all transactions in batch
  max-buffer-time = 100ms
}

# MicroBlock synchronizer settings
micro-block-synchronizer {
  # How much time to wait before a new request of a microblock will be done
  wait-response-timeout = 2s

  # How much time to remember processed microblock signatures
  processed-micro-blocks-cache-timeout = 3m

  # How much time to remember microblocks and their nodes to prevent same processing
  inv-cache-timeout = 45s
}

}

Unverified transactions pool settings

utx {

Pool size

max-size = 100000
# Evict transaction from UTX pool after it gets older than specified
max-transaction-age = 90m
# Utx cleanup task interval
cleanup-interval = 5m
# Blacklist transactions from these addresses (Base58 strings)
blacklist-sender-addresses = []
# Allow transfer transactions from the blacklisted addresses to these recipients (Base58 strings)
allow-blacklisted-transfer-to = []

}

features { auto-shutdown-on-unsupported-feature = yes supported = [1, 2] } }

Performance metrics

kamon {

Which modules are enabled. Set to "yes", if you want to enable

modules {

Custom metrics (see Kamon.metrics.* in code)

kamon-influxdb.auto-start = no

# Memory, CPU, Disk and Network usage information
kamon-system-metrics.auto-start = no

}

influxdb { hostname = "127.0.0.1" port = 8086 database = "mydb" application-name = "waves-node"

# authentication {
#   user = ""
#   password = ""
# }

}

internal-config { akka.loggers = ["akka.event.slf4j.Slf4jLogger"] } }

metrics { enable = no node-id = -1

influx-db { uri = "http://"${kamon.influxdb.hostname}":"${kamon.influxdb.port} db = ${kamon.influxdb.database}

# username = ${kamon.influxdb.authentication.user}
# password = ${kamon.influxdb.authentication.password}

batch-actions = 100
batch-flash-duration = 5s

} }

WARNING: No user-configurable settings below this line.

akka { loglevel = "INFO" loggers = ["akka.event.slf4j.Slf4jLogger"] logging-filter = "akka.event.slf4j.Slf4jLoggingFilter" log-dead-letters-during-shutdown = false

actor { guardian-supervisor-strategy = "com.wavesplatform.actor.RootActorSystem$EscalatingStrategy" serializers.matcher = "com.wavesplatform.matcher.model.MatcherSerializer" serialization-bindings { "java.io.Serializable" = none "com.wavesplatform.matcher.model.Events$Event" = matcher "com.wavesplatform.matcher.market.OrderBookActor$Snapshot" = matcher "com.wavesplatform.matcher.market.MatcherActor$OrderBookCreated" = matcher } }

http.server.parsing { max-method-length = 64 max-content-length = 1m }

io.tcp { direct-buffer-size = 1536 KiB trace-logging = off }

persistence { journal { plugin = akka.persistence.journal.leveldb leveldb { dir = ${waves.matcher.journal-directory} native = on } } snapshot-store { plugin = akka.persistence.snapshot-store.local local.dir = ${waves.matcher.snapshots-directory} } } }

omegaoracle commented 6 years ago

I tried to find a reference to the error. Could you tell me where I went wrong? thanks

vsuharnikov commented 6 years ago

Hey! Let's look on your logs.

2018-03-05 04:01:49,197 INFO [main] c.w.Application$ - Waves v0.9.2 Blockchain Id: W

You started a node in mainnet (W here is stands for mainnet). Next, the node reports the error:

2018-03-05 04:01:50,299 ERROR [main] s.t.NgHistoryReader - java.lang.Exception: InvalidAddress(Data from other network: expected: 87(W, actual: 84(T)

It expected to get an address for mainnet from the history, but got for testnet (T stands for testnet). Looks like there is a blockchain data from testnet in ~/waves (directory = ${user.home}"/waves") and you are running the node with the config for mainnet.

So, try to clean ~/waves and then run the node again. It should help ;)

erberb commented 6 years ago

This is help me, too. Thanks

Diegoescalonaro commented 6 years ago

So, how can we resolve that error?

erberb commented 6 years ago

Just clean inside folders: C:\Users\myuser\waves