Created
February 20, 2018 10:21
-
-
Save nakov/c5ad7815766006b9869cad78c98eb6e9 to your computer and use it in GitHub Desktop.
Start RSK Node in Windows - Example
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
blockchain.config.name = "regtest" | |
peer { | |
discovery = { | |
# if peer discovery is off | |
# the peer window will show | |
# only what retrieved by active | |
# peer [true/false] | |
enabled = true | |
# List of the peers to start | |
# the search of the online peers | |
# values: [ip:port] | |
ip.list = [ | |
] | |
# Interface to bind UDP | |
# Make sure you are using the correct bind ip. Wildcard value: 0.0.0.0 | |
bind.ip = 0.0.0.0 | |
} | |
# Boot node list | |
# Use to connect to specific nodes | |
active = [ | |
#{ | |
# ip = 11.22.33.44 | |
# port = 50505 | |
# nodeId = e437a4836b77ad9d9ffe73ee782ef2614e6d8370fcf62191a6e488276e23717147073a7ce0b444d485fff5a0c34c4577251a7a990cf80d8542e21b95aa8c5e6c | |
#} | |
] | |
# list of trusted peers the incoming connections is always accepted from. Even if the max amount of connections is reached | |
# This is used to create a filter of Trusted peers | |
trusted = [ | |
# Sample entries: | |
# {nodeId = "e437a4836b77ad9d9ffe73ee782ef2614e6d8370fcf62191a6e488276e23717147073a7ce0b444d485fff5a0c34c4577251a7a990cf80d8542e21b95aa8c5e6c"}, | |
# {ip = "11.22.33.44"}, | |
# {ip = "11.22.33.*"}, | |
# { | |
# nodeId = "e437a4836b77ad9d9ffe73ee782ef2614e6d8370fcf62191a6e488276e23717147073a7ce0b444d485fff5a0c34c4577251a7a990cf80d8542e21b95aa8c5e6c" | |
# ip = "11.22.33.44" | |
# } | |
] | |
# Peer for server to listen for incoming connections | |
# 5050 for mainnet, 30305 for regtest | |
listen.port = 30305 | |
# connection timeout for trying to connect to a peer [seconds] | |
connection.timeout = 2 | |
# the parameter specifies how much time we will wait for a message to come before closing the channel | |
channel.read.timeout = 30 | |
# Private key of the peer | |
nodeId = 77a96a97e274113fd4519b01fa968b5706f3d2b5e70fa7a4b6c2fa09a1c6cddeca837419ba4874767cb533601f3f601976f871bc1287c35aef24e10d47254481 | |
privateKey = 47e50ddc101094b1a078c52507fb65d5a30cf492a69d1520e2b2a7de40c6a3ad | |
# Network id | |
networkId = 34567 | |
p2p { | |
# max frame size in bytes when framing is enabled | |
framing.maxSize = 32768 | |
# forces peer to send Handshake message in format defined by EIP-8, | |
# see https://github.com/ethereum/EIPs/blob/master/EIPS/eip-8.md | |
eip8 = true | |
} | |
# max number of active peers our node will maintain | |
# extra peers trying to connect us will be dropeed with TOO_MANY_PEERS message | |
# the incoming connection from the peer matching 'peer.trusted' entry is always accepted | |
maxActivePeers = 30 | |
} | |
# the folder resources/genesis contains several versions of genesis configuration according to the network the peer will run on | |
genesis = rsk-dev.json | |
# the number of blocks should pass before pending transaction is removed | |
transaction.outdated.threshold = 10 | |
# the number of seconds should pass before pending transaction is removed | |
# (suggested value: 10 blocks * 10 seconds by block = 100 seconds) | |
transaction.outdated.timeout = 650 | |
database { | |
# place to save physical storage files | |
dir = ./chain-data | |
# every time the application starts the existing database will be destroyed and all the data will be downloaded from peers again | |
# having this set on true does NOT mean that the block chain will start from the last point | |
# [true/false] | |
reset = false | |
} | |
dump { | |
# for testing purposes all the state will be dumped in JSON form to [dump.dir] if [dump.full] = true | |
# possible values [true/false] | |
full = false | |
dir = dmp | |
# This defines the vmtrace dump to the console and the style | |
# -1 for no block trace | |
block = -1 | |
# styles: [pretty/standard+] (default: standard+) | |
style = pretty | |
# clean the dump dir each start | |
clean.on.restart = true | |
} | |
# structured trace is the trace being collected in the form of objects and exposed to the user in json or any other convenient form | |
vm.structured { | |
trace = false | |
dir = vmtrace | |
compressed = true | |
initStorageLimit = 10000 | |
} | |
# invoke vm program on message received, if the vm is not invoked the balance transfer occurs anyway [true/false] | |
play.vm = true | |
# hello phrase will be included in the hello message of the peer | |
hello.phrase = Dev | |
# Key value data source values: [leveldb] | |
keyvalue.datasource = leveldb | |
# the parameter specify when exactly to switch managing storage of the account on autonomous db | |
details.inmemory.storage.limit = 1 | |
sync { | |
# block chain synchronization can be: [true/false] | |
enabled = true | |
# maximum blocks hashes to ask sending GET_BLOCK_HASHES msg we specify number of block we want to get, recomended value [1..1000] | |
# Default: unlimited | |
max.hashes.ask = 10000 | |
# minimal peers count used in sync process sync may use more peers than this value but always trying to get at least this number from discovery | |
peer.count = 10 | |
# The expected number of peers we would want to start finding a connection point. | |
expectedPeers = 5 | |
# Timeout in minutes to start finding the connection point when we have at least one peer | |
timeoutWaitingPeers = 1 | |
# Timeout in seconds to wait for syncing requests | |
timeoutWaitingRequest = 30 | |
# Expiration time in minutes for peer status | |
expirationTimePeerStatus = 10 | |
# Maximum amount of chunks included in a skeleton message | |
maxSkeletonChunks = 20 | |
# Amount of blocks contained in a chunk, | |
# MUST BE 192 or a divisor of 192 | |
chunkSize = 192 | |
} | |
rpc { | |
enabled = true | |
port = 4444 | |
# A value greater than zero sets the socket value in milliseconds. Node attempts to gently close all TCP/IP connections with proper half close semantics, | |
# so a linger timeout should not be required and thus the default is -1. | |
# linger.time = 0 | |
cors = "*" | |
# Enabled RPC Modules. If the module is NOT in the list, and mark as "enabled", the rpc calls will be discard. | |
# It is possible to enable/disable a particular method in a module | |
# { | |
# name: "evm", | |
# version: "1.0", | |
# enabled: "true", | |
# methods: { | |
# enabled: [ "evm_snapshot", "evm_revert" ], | |
# disabled: [ "evm_reset", "evm_increaseTime" ] | |
# } | |
# } | |
modules = [ | |
{ | |
name: "eth", | |
version: "1.0", | |
enabled: "true", | |
}, | |
{ | |
name: "net", | |
version: "1.0", | |
enabled: "true", | |
}, | |
{ | |
name: "rpc", | |
version: "1.0", | |
enabled: "true", | |
}, | |
{ | |
name: "web3", | |
version: "1.0", | |
enabled: "true", | |
}, | |
{ | |
name: "evm", | |
version: "1.0", | |
enabled: "true" | |
}, | |
{ | |
name: "sco", | |
version: "1.0", | |
enabled: "true", | |
}, | |
{ | |
name: "personal", | |
version: "1.0", | |
enabled: "true" | |
} | |
] | |
} | |
# account loaded when the node start. | |
wallet { | |
enabled = true | |
accounts = [ | |
{ | |
"publicKey": "0477a96a97e274113fd4519b01fa968b5706f3d2b5e70fa7a4b6c2fa09a1c6cddeca837419ba4874767cb533601f3f601976f871bc1287c35aef24e10d47254481", | |
"privateKey": "47e50ddc101094b1a078c52507fb65d5a30cf492a69d1520e2b2a7de40c6a3ad" | |
} | |
] | |
} | |
wire { | |
protocol: "rsk" | |
} | |
# solc compiler path | |
#solc.path = <SOLC_PATH> | |
solc.path = "C:/Users/nakov/AppData/Roaming/npm/solcjs.cmd" | |
# not good reputation expiration time in seconds | |
scoring { | |
# punishment by node id | |
nodes { | |
# number of nodes to keep scoring | |
number: 100 | |
# initial punishment duration (in minutes, default = 10 minutes) | |
duration: 12 | |
# punishment duration increment (in percentage, default = 10) | |
increment: 10 | |
# maximum punishment duration (in minutes, default = 0 minutes, no maximum) | |
maximum: 0 | |
} | |
# punishment by address | |
addresses { | |
# initial punishment duration (in minutes, default = 10 minutes) | |
duration: 12 | |
# punishment duration increment (in percentage, default = 10) | |
increment: 10 | |
# maximum punishment duration (in minutes, default = 1 week) | |
maximum: 6000 | |
} | |
} | |
miner { | |
server.enabled = true | |
client.enabled = true | |
minGasPrice = 0 | |
# these are values used by MinerServer to set the notify flag on/off | |
gasUnitInDollars = 0.001 | |
minFeesNotifyInDollars = 30 | |
# this is a secret passphrase that is used to derive the address where the miner gets the reward. | |
# please note this is stored in a local wallet and not recommended for production. | |
coinbase.secret = "this is my coinbase secret :)" | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
java -Drsk.conf.file=rsk-node.conf -cp rskj-core-0.4.0-BAMBOO-all.jar co.rsk.Start |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
truffle console | |
web3.eth.blockNumber | |
... |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
module.exports = { | |
networks: { | |
development: { | |
host: "127.0.0.1", | |
port: 4444, | |
network_id: "*" // Match any network id | |
} | |
} | |
}; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment