You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Nov 15, 2023. It is now read-only.
Repo is currently a bit of a mess from the Polkadot days. With version 1.0 coming up, it's time to get things in shape.
Phase 1
New top-level structure should reflect the different "levels" of Substrate:
/core: The core Substrate components. This is code that is common across all Substrate chains. Phase 1 of repo reorg #719
/srml: The Substrate Runtime Module Library (SRML, pronounced "surmul"). This is our primary framework for writing runtimes in Substrate. Substrate chains can exist perfectly well without reference to this code, but many will use it.
/node: The Substrate Node application. This is code specific to the generalised Substrate node. It will likely sync most substrate chains, but its block-authoring capacity will be limited to chains whose runtime supports this block-authoring version, pretty much a subset of those built with SRML. Phase 1 of repo reorg #719
Miscellanea (safe-mix, subkey, environmental, parity-codec (was codec), pwasm-libc, pwasm-alloc). Smaller, independent projects that will eventually move to their own repo should be moved to the top-level. Phase 1 of repo reorg #719
There are some things that muddy the water a little and will need to be refactored.
substrate-runtime-primitives is mostly code that belongs under core. However there are small parts, in generic and tests, which use the substrate-runtime-support crate (for Dispatchable trait), which is not core. This requirement should be purged and the module should be moved to become sr-primitives (see next). Phase 1 of repo reorg #719
Several other modules have phantom dependencies on substrate-runtime-support; this dependency should be removed:
substrate-runtime-io, substrate-runtime-std, substrate-runtime-sandbox, substrate-runtime-primitives and substrate-runtime-version are independent of the SRML and should be renamed to sr-io, sr-std, sr-sandbox, sr-primitives and sr-version. All other modules matching substrate-runtime-* should be renamed to srml-*.
Repo is currently a bit of a mess from the Polkadot days. With version 1.0 coming up, it's time to get things in shape.
Phase 1
New top-level structure should reflect the different "levels" of Substrate:
/core
: The core Substrate components. This is code that is common across all Substrate chains. Phase 1 of repo reorg #719/srml
: The Substrate Runtime Module Library (SRML, pronounced "surmul"). This is our primary framework for writing runtimes in Substrate. Substrate chains can exist perfectly well without reference to this code, but many will use it./node
: The Substrate Node application. This is code specific to the generalised Substrate node. It will likely sync most substrate chains, but its block-authoring capacity will be limited to chains whose runtime supports this block-authoring version, pretty much a subset of those built with SRML. Phase 1 of repo reorg #719safe-mix
,subkey
,environmental
,parity-codec
(wascodec
),pwasm-libc
,pwasm-alloc
). Smaller, independent projects that will eventually move to their own repo should be moved to the top-level. Phase 1 of repo reorg #719There are some things that muddy the water a little and will need to be refactored.
substrate-runtime-primitives
is mostly code that belongs undercore
. However there are small parts, ingeneric
andtests
, which use thesubstrate-runtime-support
crate (forDispatchable
trait), which is notcore
. This requirement should be purged and the module should be moved to becomesr-primitives
(see next). Phase 1 of repo reorg #719substrate-runtime-support
; this dependency should be removed:bft
client/db
runtime-version
consensus
executor
client
module depends onJsonMetadata
, as defined insubstrate-runtime-support
(a design oversight, to be addressed in Refactor "JsonMetadata" into simple "Metadata" #721). Shared code/tests should be removed to a shared crate until Refactor "JsonMetadata" into simple "Metadata" #721 is addressed.substrate-runtime-io
,substrate-runtime-std
,substrate-runtime-sandbox
,substrate-runtime-primitives
andsubstrate-runtime-version
are independent of the SRML and should be renamed tosr-io
,sr-std
,sr-sandbox
,sr-primitives
andsr-version
. All other modules matchingsubstrate-runtime-*
should be renamed tosrml-*
.ed25519
: Merge intosubstrate-primitives
(it is dependent on it anyway) Phase 1 of repo reorg #719Phase 2
Certain crates should be removed from
core
, either by merging or splitting out into separate repos:environmental
: Split out into own repo.parity-codec
: Split into own repo.safe-mix
: Split into own repo.pwasm-alloc
,pwasm-libc
: Merge intosr-std
.The text was updated successfully, but these errors were encountered: