Skip to content

v2.0.0

Compare
Choose a tag to compare
@sorpaas sorpaas released this 23 Aug 01:21
v2.0.0

This release adds support for reward lock and signed mining, preparing them to be proposed through Kulupu's on-chain governed runtime upgrade. It also contains several changes that improves mining and syncing performance. The memory requirement for non-mining node is significantly reduced as well.

Note that for mining nodes this is a backward incompatible change, as you will need to import mining key to the node for the mining function to continue to work. Please read the migration section for more information.

  • Added support for signed mining in consensus engine, and reward lock in runtime.
  • Added a new bootnode sponsored by the community, improving initial syncing performance.
  • Improved several RandomX config flags for better mining performance.
  • Improved syncing logic. Use light mode RandomX verification for syncing. This significantly reduces memory requirements for non-mining nodes.
  • Fixed CI binary build "illegal instructions" error, by building RandomX with ARCH=default.

Migration

If you use Kulupu to mine, from v2.0.0 we require you to import the mining key for the mining function to work. If you do not do this, the node will continue to sync with the network but will refuse to mine any blocks. The mining key is not yet used until the signed mining runtime upgrade is activated.

To import the mining key to your node, please use the import-mining-key command.

kulupu import-mining-key "<secret seed>"

Alternatively, you can generate a new mining key directly using the node.

kulupu generate-mining-key

It will output the secret seed of the mining key. Please keep the seed in a private and secure place.

When signed mining is activated, you can use the same mining key on multiple different nodes. As each node will store the mining key, please take necessary precautions to keep your keys secure.

After importing or generating the mining key, you can use your existing flags for mining to start your nodes as normal.

kulupu --validator --author <address or public key of the mining key>

Public testnet for signed mining

This release also adds a public testnet breaknet4 with signed mining and reward lock enabled. You can use it to test out your setup to prepare if and when signed mining runtime upgrade is activated. To be on breaknet4, use --chain breaknet4 command line flag.

kulupu --chain breaknet4

Note that mining keys for breaknet4 and mainnet are stored separately, so you will have to import mining keys specifically for the testnet, still with the --chain breaknet4 command. For example, if you want to generate a new mining key, use the following command:

kulupu generate-mining-key --chain breaknet4

Changes:

  • 49e5384 Print key info to stdout
  • 5b48fed Merge pull request #51 from BenWhiteJam/patch-1
  • afa0572 fix import-mining-key spelling error
  • c9a0e4d Merge pull request #49 from kulupu/sp-randomx-perf
  • 477955c Bump version to 2.0.0
  • 35a5674 Update mining instructions
  • 228c763 Add command to generate mining keys directly
  • 941c528 Fix compile
  • 47d72c6 Fix randomx full VM creation fail issue
  • 99b52e6 Remove register-mining-key flag
See More
  • d097ce7 Add import-mining-key command
  • 08b0a38 Move pre_digest/author/pair check outside of v2 closure
  • c56e3f4 Update randomx flags
  • 8344385 Fix tests
  • 5f52e85 Fix indentation
  • f6c4305 Build with ARCH=default for randomx on CI [ #47, #44 ]
  • 4c982dc Support different RANDOMX_ARCH
  • 34d89c5 Make the compute type explicit
  • 5a8fb45 Use full VM for verification if it's already available in current thread
  • 8654d67 Support compute mode in consensus
  • d33ba58 randomx: use generic to declare cache mode
  • d51da5f Merge pull request #40 from kulupu/sp-reward-lock
  • ecaf634 Remove unused breaknet1-3
  • 416ef3e Clean up existing bootnodes
  • 2e451e0 Add new bootnode sponsored by the community
  • fdbd834 Add v2 collision test
  • 46a8902 Update randomx vendor
  • 737861a Test out taxation
  • c18ca37 Switch back to substrate master as all fixes are merged
  • 2025816 Update bootnode
  • b67f0e1 Switch to breaknet4
  • 88f33dc Update Substrate and fix binary compile
  • bd5aa76 Merge branch 'master' of github.com:kulupu/kulupu into sp-reward-lock
  • ef7f7f5 Update bootnode identity
  • 1a8251f Update to breaknet3
  • 65907b8 Fix bootnode key
  • 32cbf9d Fix frame-rewards test
  • eaa79a4 Merge branch 'master' of github.com:kulupu/kulupu into sp-reward-lock
  • 2030d10 Start breaknet2
  • af3f43b Use author data directly from pre-digest
  • 3b1965e Change set_author to note_author_prefs
  • f373854 Bump spec version
  • a84ebfa Fix tests
  • 64e5d4b Fix protocol string
  • 971c4aa Add bootnode
  • c9191fc Change breaknet1 chain type to live
  • 93c20e3 Add breaknet1 config
  • ec1ffbf Check-in breaknet1 wasm binary
  • 35961df Fix tests
  • 2bbc31e Add function to register mining key
  • 9e67e57 Fix binary compile
  • d91c46a Switch to use keystore instead of raw key pair
  • 2a2a1be Use application-crypto wrapper
  • 17368df Check-in missing refactored files
  • 7fa91a0 Update substrate vendor
  • c173670 Refactor and add migration script for V1 pow algorithm
  • a1512a9 Get the runtime part of signed mining working
  • b76f113 Get the consensus part of signed mining working
  • 34b1888 Basic signed sealing
  • 49652bf Merge pull request #42 from shawntabrizi/shawntabrizi-reward-lock-test
  • 0067d21 make numbers better
  • c6f2a60 Add tests to reward locks
  • c795c9f Implement vesting reward locks
  • 0913d35 Merge branch 'master' of github.com:kulupu/kulupu into sp-reward-lock
  • ffd2f46 Should use locks.entry
  • 4c594c2 Implement reward lock

This list of changes was auto generated.