No description
Find a file
theohax 2e838b4485
Depth-first search ledger walking (#3324)
* Senders discovery draft

* DFS draft without checkpoints

* DFS algo improvement attempt

* DFS algo ++

* Latest DFS changes

* Self-contain DFS traversal algorithm and introduce unit tests for it

* Take out test code

* Fix build

* Address code review; use dependent_blocks_visitor to track block dependencies

* Add more ledger_walker unit tests

* Formatting

* Add diskhash as a git submodule and dependency of nano-node

Signed-off-by: theohax <theo@nano.org>

* Use diskhash in the ledger walker implementation

Signed-off-by: theohax <theo@nano.org>

* Fix formatting

Signed-off-by: theohax <theo@nano.org>

* Add todo note

Signed-off-by: theohax <theo@nano.org>

* Fix format

Signed-off-by: theohax <theo@nano.org>

* Adding submodules through get, not just .gitmodules

* Build diskhash with CMake instead of make

Signed-off-by: theohax <theo@nano.org>

* Use hybrid diskhash/in-memory-hash for ledger forward and backwards walking

* Build diskhash as static lib instead of shared

* Make ledger walker's diskhash key size larger to accomodate stringified uint64s

* Address code review -- move null block check to call site

Co-authored-by: clemahieu <clemahieu@gmail.com>
2021-07-06 16:45:25 +03:00
.github Update issue templates (#3128) 2021-05-10 11:50:33 -05:00
api/flatbuffers Add Flatbuffers schema evolution rules to IDL (#2644) 2020-04-21 12:11:01 -05:00
ci Double unit test timeout in github CI (#3363) 2021-07-01 13:51:28 +01:00
CL Fix typo in comment 2017-12-28 01:24:23 -06:00
cmake/legacyModules The build info shows following description: \ (#3144) 2021-04-27 16:52:31 +02:00
cpptoml@5399650056 TOML config file support and migration (#2221) 2019-08-23 18:49:32 +02:00
crypto Update Crypto++ to release 8.5 (#3354) 2021-06-25 12:57:06 +02:00
debian-control cmake format pass (#3053) 2020-11-19 08:46:48 -08:00
diskhash@4fe2547bad Depth-first search ledger walking (#3324) 2021-07-06 16:45:25 +03:00
docker cmake format pass (#3053) 2020-11-19 08:46:48 -08:00
etc GPG public key for Dimitrios Siganos 2021-04-21 16:10:01 +01:00
flatbuffers@3b458f7a17 IPC 2.0 (#2487) 2020-02-21 00:02:44 +01:00
gtest@e2239ee604 Update GoogleTest to release 1.11.0 (#3352) 2021-06-25 12:57:24 +02:00
images Update README (#709) 2018-03-08 06:17:14 -05:00
lmdb@e931980823 update lmdb to 0.9.25 (#2834) 2020-07-24 11:33:36 -07:00
miniupnp@81029a860b Update MiniUPnP to version 2.2.2 (#3131) 2021-04-27 18:01:09 +03:00
nano Depth-first search ledger walking (#3324) 2021-07-06 16:45:25 +03:00
nano-pow-server@00591aeae9 Shared Boost in distribution packages (#2813) 2020-06-16 10:37:37 -04:00
rocksdb@38e99ec803 Update RocksDB version to 6.13.3 (#3010) 2020-10-28 18:10:30 +00:00
systest Sighup reload bandwidth params (#3257) 2021-05-05 10:48:23 +01:00
util The build info shows following description: \ (#3144) 2021-04-27 16:52:31 +02:00
valgrind Use the MDB_NOMEMINIT flag with the ledger db environment (#2077) 2019-06-25 12:11:21 +01:00
.clang-format.base Updating and applying formatting changes. (#3209) 2021-04-19 21:37:01 +02:00
.gitignore Adding plist files to ignore filter. (#3005) 2020-10-26 13:30:47 +01:00
.gitlab-ci.yml adding support for rpm building (#1175) 2019-02-15 11:23:58 -05:00
.gitmodules Depth-first search ledger walking (#3324) 2021-07-06 16:45:25 +03:00
asan_blacklist Fixing an asan issue. 2014-11-04 22:01:22 -06:00
CMakeLists.txt Depth-first search ledger walking (#3324) 2021-07-06 16:45:25 +03:00
doxygen.config Rename internal project bits from RaiBlocks to Nano (#1504) 2018-12-28 14:58:50 -06:00
Info.plist.in add test network to build artifacts for non DB tags (#3000) 2020-10-20 10:04:56 -07:00
LICENSE Updating copyright holders and license to BSD 3-clause (#2814) 2020-06-16 15:55:35 +01:00
logo.png Minimal wallet rebranding 2018-02-06 20:26:00 -06:00
Nano.icns Rename internal project bits from RaiBlocks to Nano (#1504) 2018-12-28 14:58:50 -06:00
Nano.ico Rename internal project bits from RaiBlocks to Nano (#1504) 2018-12-28 14:58:50 -06:00
Nano.rc Rename internal project bits from RaiBlocks to Nano (#1504) 2018-12-28 14:58:50 -06:00
nanocurrency-beta.spec.in Enforce Cxx17 (#2878) 2020-08-12 10:13:31 +01:00
nanocurrency.spec.in Enforce Cxx17 (#2878) 2020-08-12 10:13:31 +01:00
qt.conf Found the correct magic recipe to get packaging working. 2014-11-09 18:51:16 -06:00
README.md Fix link to contributors guide (#2969) 2020-10-06 14:10:17 -05:00
rep_weights_beta.bin Beta reset in prep for rocksdb heavy testing (#2973) 2020-09-24 14:07:29 -07:00
rep_weights_live.bin New Rep weights live file (#3238) (#3254) 2021-05-12 13:48:07 +01:00
resources.qrc fixed the inclusion of the logo file into the binary using QT resources 2017-04-20 13:19:26 -05:00
SECURITY.md Remove Guilherme's pubkey from security policy (#3006) 2020-10-19 13:10:31 -05:00
tsan_clang_blacklist TSAN suppressions file (#1941) 2019-04-30 16:55:32 +01:00
tsan_suppressions Suppress RocksDB TSAN warnings (#2345) 2019-10-16 18:29:16 +01:00
valgrind.supp Valgrind fixes & suppressions (#1814) 2019-03-15 13:55:45 +03:00


Logo

Live Artifacts Beta Artifacts GitHub release (latest by date) GitHub tag (latest by date) Tests RelWithDebug Tests Discord


What is Nano?

Nano is a digital payment protocol designed to be accessible and lightweight, with a focus on removing inefficiencies present in other cryptocurrencies. With ultrafast transactions and zero fees on a secure, green and decentralized network, this makes Nano ideal for everyday transactions.


Guides & Documentation

Other documentation details can be found at https://docs.nano.org.



Want to Contribute?

Please see the contributors guide.


Contact us

We want to hear about any trouble, success, delight, or pain you experience when using Nano. Let us know by filing an issue, joining us on Reddit, or joining us on Discord.