Nano-node: How can I speed up the block synchronization?

Created on 11 Jan 2018  路  5Comments  路  Source: nanocurrency/nano-node

I started a node, but the current sync block is slow.
{
"count": "327112",
"unchecked": "4626104"
}
how to speed up?

config.json file:

"version": "2",
"rpc_enable": "true",
"rpc": {
   "address": "::ffff:0.0.0.0",
    "port": "8008",
    "enable_control": "true",
    "frontier_request_limit": "16384",
    "chain_request_limit": "16384"
},
"node": {
    "version": "7",
    "peering_port": "7075",
    "bootstrap_fraction_numerator": "1",
    "receive_minimum": "1000000000000000000000000",
    "logging": {
        "version": "2",
        "ledger": "false",
        "ledger_duplicate": "false",
        "vote": "false",
        "network": "true",
        "network_message": "false",
        "network_publish": "false",
        "network_packet": "false",
        "network_keepalive": "false",
        "node_lifetime_tracing": "false",
        "insufficient_work": "true",
        "log_rpc": "true",
        "bulk_pull": "false",
        "work_generation_time": "true",
        "log_to_cerr": "false",
        "max_size": "16777216"
    },
    "work_peers": "",
    "preconfigured_peers": [
       "rai.raiblocks.net",
       "raiblockscommunity.net",
       "64.137.172.219",
       "138.201.94.249"
    ],
    "preconfigured_representatives": [
        "xrb_3arg3asgtigae3xckabaaewkx3bzsh7nwz7jkmjos79ihyaxwphhm6qgjps4",
        "xrb_1stofnrxuz3cai7ze75o174bpm7scwj9jn3nxsn8ntzg784jf1gzn1jjdkou",
        "xrb_1q3hqecaw15cjt7thbtxu3pbzr1eihtzzpzxguoc37bj1wc5ffoh7w74gi6p",
        "xrb_3dmtrrws3pocycmbqwawk6xs7446qxa36fcncush4s1pejk16ksbmakis78m",
        "xrb_3hd4ezdgsp15iemx7h81in7xz5tpxi43b6b41zn3qmwiuypankocw3awes5k",
        "xrb_1awsn43we17c1oshdru4azeqjz9wii41dy8npubm4rg11so7dx3jtqgoeahy",
        "xrb_1anrzcuwe64rwxzcco8dkhpyxpi8kd7zsjc1oeimpc3ppca4mrjtwnqposrs",
        "xrb_1hza3f7wiiqa7ig3jczyxj5yo86yegcmqk3criaz838j91sxcckpfhbhhra1"
    ],
    "inactive_supply": "0",
    "password_fanout": "1024",
    "io_threads": "4",
    "work_threads": "4",
    "enable_voting": "true",
    "bootstrap_connections": "4",
    "callback_address": "",
    "callback_port": "0",
    "callback_target": ""
},
"opencl_enable": "false",
"opencl": {
    "platform": "0",
    "device": "0",
    "threads": "1048576"
}

}

Most helpful comment

Yes, the initial sync is really slow. As far as I know there are two methods to speed up the synchronisation process.

Downloading a recently populated database

You can download a database from RaiBlocks' reddit wiki. But like @AugustoResende backup your current seed and don't use the seed from the database.

Using a RAM disk

Haven't tried it myself but if you have enough memory you can use some to act like a disk. Since RaiBlock transactions are very tiny the initial sync eats a lot of disk IO. Don't reboot your machine during sync and move the database to persistent storage.

All 5 comments

Backup. The. Seed.

And.. https://yadi.sk/d/fcZgyES73Jzj5T

Similar problem as above, even after downloading the bootstrap file, it will take 46 days to sync 1 day's worth of blocks. Any reason why this would be so slow?

Yes, the initial sync is really slow. As far as I know there are two methods to speed up the synchronisation process.

Downloading a recently populated database

You can download a database from RaiBlocks' reddit wiki. But like @AugustoResende backup your current seed and don't use the seed from the database.

Using a RAM disk

Haven't tried it myself but if you have enough memory you can use some to act like a disk. Since RaiBlock transactions are very tiny the initial sync eats a lot of disk IO. Don't reboot your machine during sync and move the database to persistent storage.

@Roconda so they problem is actually DISK IO, not internet connectivity?

How about that future version of wallet simply does a download from a file stored somewhere and then continues simply. In other words can we automate the process of initial sync that many people described on the Internet (download file, backup seed, restore file, restore wallet seed)?

@matiwinnetou for me it is since I have a high speed, low latency internet connection. But it really depends on what your limitations are of course.

I like your idea. The file could to be signed by the core devs to proof that the file hasn't been tampered. Additional full nodes will greatly enhance the network's strength / throughput.

For end users a light node / wallet would be helpful. Have been thinking about a method where a node only syncs it's own blocks(eg. a greedy node). For instance if all blocks are possible to fetch individually. This is just theoretically, not sure if it will work.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

termhn picture termhn  路  4Comments

paulmelis picture paulmelis  路  6Comments

henry701 picture henry701  路  5Comments

androm3da picture androm3da  路  3Comments

FndNur1Labs picture FndNur1Labs  路  6Comments