No description
Find a file
Wesley Shillingford 758d6209c9
Add cemented frontier successor confirmation in request loop (#2885)
* Add pessimistic frontiers confirmation

* Only start pessimistic after an optimistic election has been marked expired_unconfirmed

* Use can_vote

* (Unrelated) Improve  block_confirmed & remove unused method

* Increase number of confirmation rounds and delay pessimistic elections (Srayman suggestions)

* Add new container to stats->objects

* Remove update to base_latency (spotted by Srayman)

* Update container names

* Update test compile error

* Change if condition so elections_count gets updated correctly

* Disable successor activation for test

* Gui/Serg review comments

* Change "default" enum value to "normal"

* Change new test to rely on activation and also some Srayman/Gui suggestions

* Fix build error and Gui comment

* Add active mutex lock guard around election creation in test

* Use active.active (Gui)

* Enable dependency test and fix to work with pessimistic (thanks Gui)

* Formatting

* Limit optimistic frontiers after initial cementing

* Fix logic when transitioning over cemented count threshold for hardcoded bootstrap weight

* Add test to check maximum optimistic elections

* Remove from optimistic count as soon as the election is confirmed (Gui comment)

* Always set bootstrap_weight_max_blocks

* Simplifiy election insert using null default arg confirmation action

* Correctly update expired_optimistic_election_infos_size in all places

* Move election count modification outside function (Gui comment)

* Gui suggestions to improve active transactions during startup and initial cementing

* Fix lower_bound checks (thanks Gui + for test)

* Update changes needed from latest merge

* C++14ify

* Intermittent test failure

Co-authored-by: Guilherme Lawless <guilherme@nano.org>
Co-authored-by: clemahieu <clemahieu@gmail.com>
2020-09-02 21:46:16 +01:00
.github Docker base update (#2898) 2020-08-28 09:07:39 -07:00
api/flatbuffers Add Flatbuffers schema evolution rules to IDL (#2644) 2020-04-21 12:11:01 -05:00
ci Enforce Cxx17 (#2878) 2020-08-12 10:13:31 +01:00
CL Fix typo in comment 2017-12-28 01:24:23 -06:00
cmake update bundled FindBoost.cmake (#2792) 2020-06-03 10:07:42 -04:00
cpptoml@5399650056 TOML config file support and migration (#2221) 2019-08-23 18:49:32 +02:00
crypto Update Argon2 to release 20190702 (#2357) 2019-10-22 15:47:16 +03:00
docker Docker base update (#2898) 2020-08-28 09:07:39 -07:00
etc Add Security Policy file (#2700) 2020-04-09 15:57:17 -05:00
flatbuffers@3b458f7a17 IPC 2.0 (#2487) 2020-02-21 00:02:44 +01:00
gtest@dea0216d0c Migrate Gtest to submodule (#1661) 2019-03-14 07:26:43 -04: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@582375b64f Update miniupnp submodule to version 2.1 @582375b (#1659) 2019-01-29 16:26:30 -05:00
nano Add cemented frontier successor confirmation in request loop (#2885) 2020-09-02 21:46:16 +01:00
nano-pow-server@00591aeae9 Shared Boost in distribution packages (#2813) 2020-06-16 10:37:37 -04:00
util Docker base update (#2898) 2020-08-28 09:07:39 -07:00
valgrind Use the MDB_NOMEMINIT flag with the ledger db environment (#2077) 2019-06-25 12:11:21 +01:00
.clang-format.base Remove compiler warnings (incl from third party headers) (#2072) 2019-07-12 17:28:21 +01:00
.gitignore IPC 2.0 (#2487) 2020-02-21 00:02:44 +01:00
.gitlab-ci.yml adding support for rpm building (#1175) 2019-02-15 11:23:58 -05:00
.gitmodules IPC 2.0 (#2487) 2020-02-21 00:02:44 +01:00
asan_blacklist Fixing an asan issue. 2014-11-04 22:01:22 -06:00
CMakeLists.txt Use Boost.Coroutine with asio/beast async calls in tests (#2788) 2020-09-02 12:38:34 +02:00
doxygen.config Rename internal project bits from RaiBlocks to Nano (#1504) 2018-12-28 14:58:50 -06:00
Info.plist.in Add version info to Info.plist (#1631) 2019-01-28 21:29:46 +01: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 Update README badging to reflect changes to actions 2019-12-17 16:27:54 -05:00
rep_weights_live.bin Update live bootstrap weights for V21 (#2815) 2020-06-16 16:23:53 +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 Add Security Policy file (#2700) 2020-04-09 15:57:17 -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.