|
%!s(int64=5) %!d(string=hai) anos | |
---|---|---|
.. | ||
runtime | %!s(int64=5) %!d(string=hai) anos | |
README.md | %!s(int64=5) %!d(string=hai) anos | |
specification-format.md | %!s(int64=5) %!d(string=hai) anos |
The purpose of this document is to serve as a starting point for the implementation phase of the given testnet. It is only a starting point in the sense that the implementation effort will always depart from the up front specification to some, possibly substantial, extent, but no effort is made to synchronise the specification at any time. Instead, the any such synchronisation would be done in the specification of a future network. The value of such a specification is primarily to establish a relatively precise shared understanding among all contributors to a testnet release.
Parts of the specification are not well harmonised with the rest, in particular the storage system, due to time constraints. Read graciously, this will be resolved later. Also, a substantial number of modules are not yet specced, as already implemented modules from prior testnets are being reused. Full specs will eventually be available as future networks are released where changes are made to these modules. Lastly, a number off communication protocols are not captured in this spec due to time constraints, they will be introduced for later networks.
Substrate: A blockchain SDK, used for this testnet, that abstracts away concerns about consensus and p2p communication.
Runtime: Application specific consensus code written for the Substrate SDK. Includes state and transaction rules specific to the application, but excludes consensus algorithm and p2p networking.
Substrate Module: A substrate runtime is partitioned into functionality integrated units, called modules, which have their own local state, transaction types and events.
SRML: Substrate standard runtime library (SRML), is a set of highly reusable Substrate modules.
AURA: Component of consensus responsible for block authoring.
GRANDPA: Component of consensus responsible for block finality.
The Acropolis testnet features the following roles
This release also sees the introduction of a new storage infrastructure based on IPFS for distribution and synchronisation, and IPNS for host resolution. A generalised host resolution module is also introduced as part of making the latter functionality possible, and it will be reused for host resolution across the platform.
A full featured hierarchical topic based, and single moderator, membership forum is also introduced.
joystream-node
joystream-node
5
4
0
RUNTIME_API_VERSIONS
1.0.0
These are the Joystream specific modules, for each module, there is either a link to a module specification document, or no link, for already implemented modules (see caveat). Standard configurations, for example based on values from the System module, are omitted.
An integrated explanation of the modules constituting the storage system is found here.
get_profile
on Membership module.u64
u64
u64
remove_account_info
on Discovery.u64
primitives::H256
u64
Roles
configuration of Discovery module.u64
Roles
configuration of Discovery module.u64
These modules are part of the runtime, but are already implemented part of the SRML.
Root
call or designate a new account to replace them as the sudo key.The runtime implements the following set of APIs.
execute_block
routine.initialize_block
routine.apply_extrinsic
routine.metadata
routine.apply_extrinsic
routine.finalize_block
routine.create_extrinsics
routine on inherent data.check_extrinsics
routine on block.random_seed
routine.validate_transaction
routine.offchain_worker
routine.slot_duration
routine.authorities
routine.