xx network Substrate based blockchain node

Related tags

Cryptography xxchain
Overview

xx network Substrate based blockchain node

Rust Setup

First, complete the basic Rust setup instructions.

MacOS users: setup to compile for Linux

Before being able to build for linux on macOS, the following extra steps are needed:

rustup target add x86_64-unknown-linux-gnu # Install linux GNU rust target
brew tap SergioBenitez/osxct               # Tap this project with brew
brew install x86_64-unknown-linux-gnu      # Install cross-compile tools for GNU

Build

The makefile provides build commands, of which the most important are:

make build                # Build node binary for current OS
make build-linux-from-mac # Build node binary for Linux from macOS

Test

The makefile provides the test-pallets command which runs unit tests for all custom pallets, as follows:

chainbridge
claims
staking
swap
xx-cmix
xx-economics
xx-team-custody

Benchmarking

Included is a script that automatically runs the benchmarking code and calculates extrinsic weights for relevant pallets.

This can be executed with:

sh ./scripts/benchmark.sh

Code Review

A code review was performed by ChainSafe. It focused mostly on the modification to the Staking pallet and the custom made xx network pallets for cmix, economics and team custody. The report can be found here.

You might also like...
A fresh FRAME-based Substrate node, ready for hacking

Substrate Node Template A fresh FRAME-based Substrate node, ready for hacking ๐Ÿš€ Getting Started Follow the steps below to get started with the Node T

Substrate: The platform for blockchain innovators
Substrate: The platform for blockchain innovators

Substrate ยท Substrate is a next-generation framework for blockchain innovation ๐Ÿš€ . Trying it out Simply go to substrate.dev and follow the installati

An Ethereum compatible Substrate blockchain for bounties and governance for the Devcash community.

Substrate Node Template A fresh FRAME-based Substrate node, ready for hacking ๐Ÿš€ Getting Started Follow the steps below to get started with the Node T

Substrate: The platform for blockchain innovators
Substrate: The platform for blockchain innovators

Substrate ยท Substrate is a next-generation framework for blockchain innovation ๐Ÿš€ . Trying it out Simply go to docs.substrate.io and follow the instal

A privacy-preserving blockchain on Substrate
A privacy-preserving blockchain on Substrate

Zerochain Zerochain is a generic privacy-protecting layer on top of Substrate. It provides some useful substrate modules and toolkit for protecting us

A Rust-based CustomVM for the Avalanche blockchain network

A rust-based Custom VM for Avalanche Subnets Curious about how to run Rust-based smart contracts, or just custom VMs for Avalanche blockchain? You're

Basilisk node - cross-chain liquidity protocol built on Substrate

Basilisk node Local Development Follow these steps to prepare a local Substrate development environment ๐Ÿ› ๏ธ Simple Setup Install all the required depe

Minimal Substrate node configured for smart contracts via pallet-contracts.

substrate-contracts-node This repository contains Substrate's node-template configured to include Substrate's pallet-contracts โ€’ a smart contract modu

Substrate Node Template Generator

Substrate Node Template Generator A tool to generate stand-alone node templates of a customized Substrate clients used in "Substrate Library Extension

Comments
  • xxnetwork runtime 205

    xxnetwork runtime 205

    Fix payouts: use total with custody on nominator exposure to ensure custody stake is taken into account. Added test to confirm fix works https://github.com/xx-labs/substrate/commit/4329025cbd14bda68e7f180e5f8411e8d608efb0

    opened by bernardo-xxnet 0
  • xxnetwork runtime 204

    xxnetwork runtime 204

    Client side refactor:

    • Remove phoenixx runtime
    • Rename protonet to canary
    • Create runtime-common for all configuration values common to both runtimes
    • Use features in order to reduce final size by removing canary runtime when compiling release binary
    • Fix all tests and try-runtime compilation

    Runtime changes:

    • Staking pallet adding custody to Exposure
    • Payout now uses exposure.total + exposure.custody as denominator when computing rewards
    • Staking migration from 7.0.0 to 7.5.0 will trigger on mainnet in order to add custody of 0 to all existing Exposure structs
    opened by bernardo-xxnet 0
Releases(v0.2.5-1)
  • v0.2.5-1(Oct 14, 2022)

    This is xx network release v0.2.5-1.

    This release includes an important hotfix for a client-side crash on reporting a valid Grandpa equivocation.

    โš ๏ธ โš ๏ธ โš ๏ธ โš ๏ธ โš ๏ธ โš ๏ธ Upgrade is mandatory, please upgrade your validators as soon as possible. โš ๏ธ โš ๏ธ โš ๏ธ โš ๏ธ โš ๏ธ โš ๏ธ

    This release was built and tested using rustc 1.64.0 (a55dd71d5 2022-09-19).

    Changes

    Full Changelog: https://github.com/xx-labs/xxchain/compare/v0.2.5..v0.2.5-1

    Client

    • Fix creation of justification with equivocating precommits in commit https://github.com/xx-labs/substrate/commit/42655d235dc0d6ad711bf45a3e7dfdbfd89d76e9

    There are multiple more changes in this binary from upgrading Substrate to the latest commits, which are not described due to the urgency of this release.

    This binary also includes a native runtime 206 with many changes. However, the xxnetwork runtime is staying the same at 205, as we will not be upgrading it on-chain for now. Once that time comes, a release will be issued and it will contain changelogs for the major changes.

    Source code(tar.gz)
    Source code(zip)
    xxnetwork-chain(81.31 MB)
  • v0.2.5(Aug 22, 2022)

    This is xx network release v0.2.5.

    This release includes runtime changes, as well as a small client-side change. Upgrade is not mandatory, but is encouraged.

    This release was built and tested using rustc 1.62.0 (a8314ef7d 2022-06-27).

    Runtimes

    Versions:

    • xx network: 205
    • canary: 200

    Runtimes compiled using srtool v0.9.21 via Makefile target make build-xxnetwork-runtime. Runtime information (using subwasm):

    Running subwasm v0.18.0
    ๐Ÿ‹๏ธ  Runtime size:		0.762 MB (798,690 bytes)
    ๐Ÿ—œ  Compressed:			Yes, 74.60%
    โœจ Reserved meta:		OK - [6D, 65, 74, 61]
    ๐ŸŽ Metadata version:		V14
    ๐Ÿ”ฅ Core version:		xxnetwork-205 (xxlabs-xxnetwork-0.tx1.au0)
    ๐Ÿ—ณ๏ธ  system.setCode hash:	0x300728a40ab526498fb5be80f7139448856042c53ba350b6507efac8af2401f2
    ๐Ÿ—ณ๏ธ  authorizeUpgrade hash:	0x60745d60c0aebb5ffcf698b340522143f2af789ef7a28e4f584c11d5f43234f8
    #๏ธโƒฃ  Blake2-256 hash:		0x1c79f23eaa5e1a11c416310828c26aa540dd224e863ac2b76bb05056e017d296
    ๐Ÿ“ฆ IPFS:			https://www.ipfs.io/ipfs/QmVFXGKUSJ1R7as3WfbJY4D1BY7rw429EQ3AWXj4mE9YzQ
    

    Changes

    Full Changelog: https://github.com/xx-labs/xxchain/compare/v0.2.4...v0.2.5

    Client

    • Remove disabled bootnodes from genesis block specification included in the binary. https://github.com/xx-labs/xxchain/commit/482111b49786deeca723034e00f3d20b7da82f09

    Runtime

    • Staking pallet fix: use total_with_custody when computing each nominator payout. https://github.com/xx-labs/substrate/commit/4329025cbd14bda68e7f180e5f8411e8d608efb0
    Source code(tar.gz)
    Source code(zip)
    xxnetwork-chain(76.30 MB)
    xxnetwork_runtime.compact.compressed.wasm(779.97 KB)
  • v0.2.4(Jul 12, 2022)

    This is xx network release v0.2.4.

    This release includes a client side refactor that reduces the size of the compiled release binary by 25%. Upgrade is not mandatory, but is encouraged.

    Runtimes

    The phoenixx runtime was removed. The protonet runtime was renamed to canary. Versions:

    • xx network: 204
    • canary: 200

    Runtimes compiled using srtool v0.9.21 via Makefile target make build-xxnetwork-runtime. Runtime information (using subwasm):

    Running subwasm v0.18.0
    ๐Ÿ‹๏ธ  Runtime size:		0.762 MB (798,616 bytes)
    ๐Ÿ—œ  Compressed:			Yes, 74.59%
    โœจ Reserved meta:		OK - [6D, 65, 74, 61]
    ๐ŸŽ Metadata version:		V14
    ๐Ÿ”ฅ Core version:		xxnetwork-204 (xxlabs-xxnetwork-0.tx1.au0)
    ๐Ÿ—ณ๏ธ  system.setCode hash:	0x11f42c25cdb3fd775d4a66bb36c1fc37f59e722f58f4246b38407fe4d9014a77
    ๐Ÿ—ณ๏ธ  authorizeUpgrade hash:	0xaf1d297207f4b0c230e9d19c9b94b477b5e1b4399948b8adb0daa5d6ec5d9a6a
    #๏ธโƒฃ  Blake2-256 hash:		0xec15386559dc91df7b58f0c974ec9ccd810a807801da430381bc164d047c69e4
    ๐Ÿ“ฆ IPFS:			https://www.ipfs.io/ipfs/QmTueaSFRFKR3g2qjXkQBmKkKnQeS6SeeeWGiR9JjBUovm
    

    Changes

    Full Changelog: https://github.com/xx-labs/xxchain/compare/v0.2.3...v0.2.4

    Client

    • Fix compilation with rustc 1.61.0. https://github.com/xx-labs/substrate/commit/278a0f8b72655b0cd25f193887555d6f7a002525, https://github.com/xx-labs/substrate/commit/290c18f368048645e8c2ed798b2dd1ba05dacaac, https://github.com/xx-labs/substrate/commit/ba78567fb614ba8eacb0f1dd6f29411c2350abe0, https://github.com/xx-labs/substrate/commit/adc6e7bfcdd87f93a00e7e49ee21d55f7543e745, https://github.com/xx-labs/substrate/commit/f8471fa73c033819ee8529ec0ec1f49d10f51fa9, 4b2cfe8
    • Client side refactor. 7b1ad049b0628cd4b10e45fbff7be87c0ce8dce1, f7d1e0a4cd8501bcd28be3787048794cc9831ab0, e4867e396263934254dc501138b40a22d13d2987, 961666f37c58a46cbe0aaa9c781af7b2b57a981e, 93eda91b9b14733ce0335d492b432473e68c2ac3, f9646a51072ede0ec83b65fd88642b9c09700f71, 91ea0f6998c0d32c14d07adaa04ca62311f8d3b8, f2007ae78560c5ceef144b3be710d70cb2b4ed76, 4e156a0884b6572c467780d450e3cc55bfb1a7c5, d5f4183ca1535e586f106288d4eb6e4983307cce
      • Remove phoenixx runtime
      • Rename protonet to canary
      • Create runtime-common for all configuration values common to both runtimes
      • Use features in order to reduce final size by removing canary runtime when compiling release binary
      • Fix all tests and try-runtime compilation

    Runtime

    • Staking pallet changes adding Custody to Exposure struct and using it when computing reward payout. https://github.com/xx-labs/substrate/commit/2159f74c9e74dc2e509193dd7e2e01e2fa738225
    • Staking pallet migration to add a custody value of 0 to all existing Exposures. https://github.com/xx-labs/substrate/commit/0ba345b0a71783d38639a4b5eceeef663a6963cb
    • Bump runtime to 204 and include Staking pallet changes. 5ea73b58dde960da013d8c1114bd74fb3342d78e
    Source code(tar.gz)
    Source code(zip)
    xxnetwork-chain(76.32 MB)
    xxnetwork_runtime.compact.compressed.wasm(779.89 KB)
  • v0.2.3(Apr 26, 2022)

    This is xx network release v0.2.3.

    This release includes only runtime changes, no client-side changes, so xxnetwork-chain upgrade is not strictly necessary.

    Runtime versions:

    xx network: 203 xx protonet: 200 phoenixx: 200 Runtime information (using subwasm):

    subwasm info xxnetwork_runtime-203.compact.compressed.wasm
    ๐Ÿ‹๏ธ  Runtime size:		0.795 MB (833,115 bytes)
    ๐Ÿ—œ  Compressed:			Yes, 74.36%
    โœจ Reserved meta:		OK - [6D, 65, 74, 61]
    ๐ŸŽ Metadata version:		V14
    ๐Ÿ”ฅ Core version:		xxnetwork-203 (xxlabs-xxnetwork-0.tx1.au0)
    ๐Ÿ—ณ๏ธ  system.setCode hash:	0x092f5d2602817416b6a8cb567f2db88f7abb66f9cad3d94480afcf7d685a406c
    ๐Ÿ—ณ๏ธ  authorizeUpgrade hash:	0x6ba81489caa2ec9fcd956eeb67cd673f6048ded1facb75f0cb8353e04bb98eca
    #๏ธโƒฃ  Blake2-256 hash:		0x0b46a6f95890932e163c72e3722bc707d029545eb34b6daa24500d6595919c83
    ๐Ÿ“ฆ IPFS:			https://www.ipfs.io/ipfs/QmWUZeyEYhinoQqxwAUQkFfmZug6MD6aK9vH9bHTfYrwWj
    

    Runtime changes

    Changelog:

    • Allow calls to Balances pallet and Vesting::vested_transfer. 6f32766
    Source code(tar.gz)
    Source code(zip)
    xxnetwork-chain(105.80 MB)
    xxnetwork_runtime-203.compact.compressed.wasm(813.58 KB)
  • v0.2.2(Mar 11, 2022)

    This is xx network release v0.2.2.

    This release includes only runtime changes, no client-side changes, so xxnetwork-chain upgrade is not strictly necessary.

    Runtime versions:

    xx network: 202 xx protonet: 200 phoenixx: 200 Runtime information (using subwasm):

    subwasm info xxnetwork_runtime-202.compact.compressed.wasm
    ๐Ÿ‹๏ธ  Runtime size:		0.795 MB (833,655 bytes)
    ๐Ÿ—œ  Compressed:			Yes, 74.34%
    โœจ Reserved meta:		OK - [6D, 65, 74, 61]
    ๐ŸŽ Metadata version:		V14
    ๐Ÿ”ฅ Core version:		xxnetwork-202 (xxlabs-xxnetwork-0.tx1.au0)
    ๐Ÿ—ณ๏ธ  system.setCode hash:	0xe94286ea4a6c606ed5e6531a0eca2713fab3c7a8806eaab49a204bc3a11c82ae
    ๐Ÿ—ณ๏ธ  authorizeUpgrade hash:	0xfaf1744ec22a9e721e53b78bb162d512f17f75fc0883f95406e5fd6f57218515
    #๏ธโƒฃ  Blake2-256 hash:		0x7731f60a91dfb7f15bbf759dde9ada39956dab7c321d4717fe988fc37e8ac67b
    ๐Ÿ“ฆ IPFS:			https://www.ipfs.io/ipfs/QmS3ZjGZP4prQczjkZpap9ihTdu8zypon8xiHHaSqLNCRV
    

    Runtime changes

    Changelog:

    • Remove set_vesting Call from the Claims pallet. 308ecf9
    • Remove admin_set_vesting Call from the Vesting pallet. adf6d46, 63a7de3
    • Remove migration to fix community Sale distribution vesting schedules. 226e3d0
    • Use free balance rather than total balance for elections phragmen. 2f0aca8
    • Add transfer_cmix_id Call to the Staking pallet. 63ee4a5, 373e0d6, 63b8a0b, bc444bf
    • Ensure min validator commission when election happens off-chain. f2c37a3, b253bb0

    Remove admin vesting Calls and sale fix migration

    Issue After fixing all incorrect vesting schedules, the privileged functions and migration are not necessary anymore.

    Solution Remove the set_vesting Call from the Claims pallet, the admin_set_vesting Call from the Vesting pallet and the migration that fixed community sale.

    Use free balance rather than total balance for elections phragmen

    Issue When voting for Council members, if the user specifies the whole account balance, a lock is placed on coins that get reserved to vote, resulting in a negative transferable balance.

    Solution Use the account's free_balance instead of total_balance when calculating the amount to vote with. This will correctly exclude the reserved coins.

    Add transfer_cmix_id Call to the Staking pallet

    Issue For node operators that are part of the Mainnet Transition Program, currently the team multiplier is applied only to the coins staked by the validator wallet. This can cause lower returns on staked coins, if a validator is over-nominated. In order to fix this issue, the team multiplier will count coins staked on the validator wallet and an extra nominator wallet. However, for node operators to be able to take advantage of this new system, the majority of their coins should be in the nominator wallet. The only way to do this is to unbond, wait 28 days and then transfer the coins to a new wallet. Furthermore, a new node with a new cmix id needs to be launched from the new wallet.

    Solution The implementation of a new transfer_cmix_id Call allows node operators to transfer their cmix id between two stash accounts. Since having a cmix id is a requirement for any wallet to validate, it can only be transferred when the validator is out of the elected validator set. Using this new Call, node operators will be able to transfer their validator between two accounts, with only a single era of downtime, without needing to unbond any staked coins, or launch a new node from scratch.

    Ensure min validator commission when election happens off-chain

    Issue When there are more wallets intending to validate than the size of the validator set, the Staking phragmen election is processed off-chain. Part of this procedure is a snapshot of validators and nominators that is taken midway through the second session of each era. Then, the election results are processed at the end of the second session. If a wallet stops validating after the snapshot is taken, it can still be elected, and it will have a commission of 0%, which doesn't respect the minimum validator commission that is configured by the Staking pallet. This issue can also occur if a validator is offline for the whole of the second session, being auto-chilled at the end of the session, before the election results are processed.

    Solution When processing election results and getting validator preferences, if commission is zero, set it to the minimum allowed commission.

    Source code(tar.gz)
    Source code(zip)
    xxnetwork-chain(105.79 MB)
    xxnetwork_runtime-202.compact.compressed.wasm(814.11 KB)
  • v0.2.1(Jan 4, 2022)

    This is xx network release v0.2.1.

    This release includes only runtime changes, no client-side changes, so xxnetwork-chain upgrade is not strictly necessary.

    Runtime versions:

    • xx network: 201
    • xx protonet: 200
    • phoenixx: 200

    Runtime information (using subwasm):

    subwasm info xxnetwork_runtime-201.compact.compressed.wasm
    ๐Ÿ‹๏ธ  Runtime size:		0.796 MB (834,667 bytes)
    ๐Ÿ—œ  Compressed:			Yes, 74.32%
    โœจ Reserved meta:		OK - [6D, 65, 74, 61]
    ๐ŸŽ Metadata version:		V14
    ๐Ÿ”ฅ Core version:		xxnetwork-201 (xxlabs-xxnetwork-0.tx1.au0)
    ๐Ÿ—ณ๏ธ  system.setCode hash:	0x76cca0d527479a1c711f23dd437854207f7f33797494445c53997f822443a311
    ๐Ÿ—ณ๏ธ  authorizeUpgrade hash:	0x07e07fbe214db26d11ea864400f633e421fe8a7864e4fa36663b77208291530a
    #๏ธโƒฃ  Blake2-256 hash:		0xf93192d5b27666920333c0e6b4195e2807c807568d91ee2220d074e86ebf6867
    ๐Ÿ“ฆ IPFS:			https://www.ipfs.io/ipfs/QmUj51NjLNRDo6qvYiwbu5mJv9XM89se3Jm3VwYcF72Ufs
    

    Runtime changes

    Changelog:

    1. Add set_cmix_id Call to the Staking pallet. e3677d7
    2. Migration to fix community Sale distribution vesting schedules. 168d503, 8e4a0cb
    3. Add set_vesting Call to the Claims pallet. 12b14db, aa51c3a
    4. Add admin_set_vesting Call to the Vesting pallet. 61bd930, 5733619
    5. Remove duplicate balance deposit event. b07d9f5

    Add set_cmix_id Call to the Staking pallet

    Issue There are multiple node operators from BetaNet which are actively nominating in MainNet, while maintaining their nodes in CanaryNet. Now, they have applied to tranche 4 of the transition program, and, if accepted, they will need to set a fresh MainNet cmix id on their stash account, otherwise they can't become active validators. This is currently not possible and would result in many operators needing to fully unbond and wait 28 eras (days) in order to join the network.

    Solution The implementation of a new set_cmix_id Call allows stash accounts that don't have a cmix id to set one without needing to unbond and wait 28 eras. However, if a stash account already has a cmix id it still can't change it using this Call and needs to fully unbond. This means that node operators still need to take special care when first setting their cmix id and ensuring the cmix private keys and certificates are properly backed up.

    Migration to fix community Sale distribution vesting schedules

    Issue In the latest community Sale, distributions are made directly in native xx coins using the XXPublic pallet, which holds coins allocated for sales. The team handles the distributions by calling a function on this pallet with a list of coin transfers, each with a destination, amount and vesting schedule. Due to an administration error, the vesting schedule used in these transfers is incorrect: coins are being locked with a 1 year linear vest starting from 14 days after MainNet launch (end of the sale), when they should be in a 1 year lock instead.

    Solution We have implemented custom migration logic, that modifies the affected vesting schedules directly from on-chain storage, and that is executed with the runtime upgrade. The incorrect vesting schedules are deterministic, since they all have the same starting block of 201600 and are uniquely identified, since there aren't any other schedules with this starting block. This way, the migration simply reads all the Vesting storage, loops through all vesting schedules per account, and if the starting block matches the target one, modifies that schedule to the format (lock, lock, new_starting_block), where new_starting_block is 14+365 days, i.e., 5457600. This migration has been tested against MainNet using the try-runtime feature offered by Substrate.

    Add set_vesting Call to the Claims pallet

    Issue When the Betanet Staking Rewards program was accepted and enacted, all the existing claims were automatically applied the default 6 month vesting option, with the reward value being added to the claim value, and the 6 month linear vesting schedule added. However, due to a bug in this part of the logic, the principal value used to calculate the vesting lock was already increased by the reward amount. This resulted in a vesting schedule being applied to 0.8*(principal+reward)+reward = 0.8*principal + 1.8*reward instead of 0.8*principal + reward. This bug affects all the existing claims at the time of the enactment of the program (block 432000).

    Solution In order to fix the incorrect vesting schedules, a temporary set_vesting Call was added to the Claims pallet, that will allow the team to directly modify the vesting of leftover claims. The data for each vesting schedule correction will be publicly posted by the team in a newer version of the genesis block spreadsheet, which will allow everyone to audit the changes before they are made. Once the vesting schedules are fixed, the set_vesting Call will be removed from the Claims pallet in a future runtime upgrade.

    Add admin_set_vesting Call to the Vesting pallet

    Issue While investigating the previous issue, it became apparent that the logic for vesting schedules computation in Betanet Staking Rewards is incorrect for some situations, where existing locks on coins end while the rewards vesting period is ongoing. This creates an unfair advantage to some accounts that can have their rewards and the required principal vest end faster than expected. Furthermore, any leftover claims that are claimed after the enactment of the program (block 432000) and before the above fix is applied, will still have the incorrect vesting schedule present in the xx network account that was funded by the claim.

    Solution In order to fix all incorrect vesting schedules, a temporary admin_set_vesting Call was added to the Vesting pallet, that will allow the team to directly modify Vesting storage. As with the solution above, the data for any vesting schedule fixes will be posted in a spreadsheet for auditing by the community. Once all vesting schedules in the system are fixed, the admin_set_vesting Call will be removed from the Vesting pallet in a future runtime upgrade.

    Remove duplicate balance deposit event

    Issue Whenever an extrinsic is executed, 20% of the fee is deposited into the account of the block author. This logic is implemented at the top-level of the Runtime, and it includes a Deposit event. A substrate change in paritytech/substrate#9425 added missing Deposit and Withdraw events to the Balances pallet, which results in the aforementioned Deposit event for extrinsic fees being duplicate.

    Solution The Deposit event was removed from the Author OnUnbalanced implementation that handles extrinsic fees.

    Source code(tar.gz)
    Source code(zip)
    xxnetwork-chain(106.00 MB)
    xxnetwork_runtime-201.compact.compressed.wasm(815.10 KB)
  • v0.2.0(Dec 6, 2021)

    This is the xx network mainnet release!

    xxnetwork-chain v0.2.0 xxnetwork runtime - 200

    genesis block hash: 0x50dd5d206917bf10502c68fb4d18a59fc8aa31586f4e8856b493e43544aa82aa

    subwasm info xxnetwork_runtime.compact.compressed.wasm                                                                             ๎‚ฒ 1.34 ๏‰“ ๎‚ณ โœ” ๎‚ณ ๏บ 23:08  ๏„ณ  06.12.21 ๏€—
    ๐Ÿ‹๏ธ  Runtime size:		0.792 MB (830,471 bytes)
    ๐Ÿ—œ  Compressed:			Yes, 74.20%
    โœจ Reserved meta:		OK - [6D, 65, 74, 61]
    ๐ŸŽ Metadata version:		V14
    ๐Ÿ”ฅ Core version:		xxnetwork-200 (xxlabs-xxnetwork-0.tx1.au0)
    ๐Ÿ—ณ๏ธ  system.setCode hash:	0x240841b5c742e867c499eedadab9a802992846a405f97669de3b755ee0b17ca6
    ๐Ÿ—ณ๏ธ  authorizeUpgrade hash:	0xd2420503108df21128170e9c84ed172848db9b05bb882edbf3791755e519efff
    #๏ธโƒฃ  Blake2-256 hash:		0xc08900c106463e7e698287aee0ba3c0b6d0bf62058ab7dcf5d5189a244858b27
    ๐Ÿ“ฆ IPFS:			https://www.ipfs.io/ipfs/QmReq1LuSgBCCVxqvuJ1Kg9XeJrmKtXSd3rDJ7AD8b5a6D
    
    Source code(tar.gz)
    Source code(zip)
    xxnetwork-chain(105.78 MB)
    xxnetwork_runtime.compact.compressed.wasm(811.00 KB)
  • v0.1.2(Oct 8, 2021)

    xxnetwork-chain v0.1.2

    New protonet runtime 102.

    The new runtime includes the following changes:

    Staking pallet: v3.0.0 -> v3.1.0

    • Added chill_other extrinsic that allows removing validators that no longer meet the minimum validator bond, when it gets increased.
    • Fix the logic of validate to allow existing validators to modify their commission without needing to stop first.

    XXNetwork pallet: v0.1.0 -> v0.1.1

    • Fix custody payout to always empty Custody and Reserve accounts at the end of the custody period. This prevents any funds sent to these accounts from getting stuck forever.
    • Fix TotalCustody underflow when paying out extra custody funds. If an account has extra funds, the TotalCustody value might reach 0 before desired.

    protonet runtime: v0.1.0 -> v0.1.2

    • Increase custody period from 45 days to 3 years. This allows continued testing for the team multiplier in protonet.
    • Bump spec version to 102.

    Runtime info (using subwasm):

    subwasm info protonet_runtime-120.compact.compressed.wasm
    ๐Ÿ‹๏ธ  Runtime size:		0.647 MB (678,599 bytes)
    ๐Ÿ—œ  Compressed:			Yes, 70.71%
    โœจ Reserved meta:		OK - [6D, 65, 74, 61]
    ๐ŸŽ Metadata version:		V13
    ๐Ÿ”ฅ Core version:		protonet-102 (xxlabs-protonet-0.tx1.au0)
    ๐Ÿ—ณ๏ธ  system.setCode hash:	0x7b603ffbe473aec7e418a1ab98b9d68d2b6da7da5930f13c01431a136711173e
    ๐Ÿ—ณ๏ธ  authorizeUpgrade hash:	0x27c8dae1523bad03ac9213f765fc96d7bab2ed007b7b932ac52c8c1e60c7f4eb
    #๏ธโƒฃ  Blake2-256 hash:		0x6f5faff167ad338b4eb8fba86f32944027b54919d7781fafd790fdfa62642af7
    ๐Ÿ“ฆ IPFS:			https://www.ipfs.io/ipfs/QmZjagQEU1h13xQ4DD3ZWMhuXFFASxnJAmbtDSqPnFENcH
    
    Source code(tar.gz)
    Source code(zip)
    protonet_runtime-120.compact.compressed.wasm(662.69 KB)
    xxnetwork-chain.2(148.66 MB)
  • v0.1.1(Oct 8, 2021)

Owner
xx network
Communicate and exchange value on your smartphone. Quantum secure, quick, and private.
xx network
Substrate blockchain generated with Substrate Startkit

Substrate Node Template A new FRAME-based Substrate node, ready for hacking ?? Getting Started This project contains some configuration files to help

HoangDuong 1 Oct 19, 2021
Substrate blockchain generated with Substrate Startkit

Substrate Node Template A new FRAME-based Substrate node, ready for hacking ?? Getting Started This project contains some configuration files to help

HoangDuong 1 Oct 19, 2021
Substrate blockchain generated with Substrate Startkit

Substrate Node Template A new FRAME-based Substrate node, ready for hacking ?? Getting Started This project contains some configuration files to help

Liam Parry 0 Nov 6, 2021
Selendra is a multichains interoperable nominated Proof-of-Stake network for developing and running Substrate-based and EVM compatible blockchain applications.

Selendra An interoperable nominated Proof-of-Stake network for developing and running Substrate-based and EVM compatible blockchain applications. Read

Selendra 16 Nov 29, 2022
Node implementation for aleph blockchain built with Substrate framework

This repository contains the Rust implementation of Aleph Zero blockchain node based on the Substrate framework. Aleph Zero is an open-source layer 1

Aleph Zero Foundation 55 Dec 15, 2022
ARYA Network is a polkadot/substrate based chain for Non-fungible Token platform on which we can own sell and buy the NFT's on polkadot network.

ARYA Network ARYA Network is a polkadot/substrate based chain for Non-fungible Token platform on which we can own sell and buy the NFT's on polkadot n

Pankaj Chaudhary 6 Dec 20, 2022
Substrate Node for Anmol Network

Anmol Substrate Node ?? ??๏ธ ?? Anmol is the First Cross-Chain NFT Toolkit, on Polkadot. Introducing: Moulds NFT Breeding Multi-Chain NFT Migration ink

Anmol Network 12 Aug 28, 2022
Polkadex - An Orderbook-based Decentralized Exchange using the Substrate Blockchain Framework.

What is Polkadex? ?? Polkadex is a Open Source, Decentralized Exchange Platform made using Substrate Blockchain Framework that provides traders with t

Polkadex 243 Dec 16, 2022
The Zenotta Network Protocol (ZNP), the network that supports the Zenotta blockchain

Zenotta Network Protocol A repo for the development of the Zenotta Network Protocol (ZNP). We will regularly be updating links and easter eggs inside

Zenotta AG 10 Apr 2, 2023
A Substrate-based PoA node supporting dynamic addition/removal of authorities.

Substrate PoA A sample Substrate runtime for a PoA blockchain that allows: Dynamically add/remove authorities. Automatically remove authorities when t

Gautam Dhameja 10 Jun 16, 2022