https://github.com/AstarNetwork/astar-frame
Core frame modules for Astar & Shiden network.
https://github.com/AstarNetwork/astar-frame
Last synced: 11 months ago
JSON representation
Core frame modules for Astar & Shiden network.
- Host: GitHub
- URL: https://github.com/AstarNetwork/astar-frame
- Owner: AstarNetwork
- License: other
- Archived: true
- Created: 2022-01-28T11:04:20.000Z (over 4 years ago)
- Default Branch: polkadot-v0.9.39
- Last Pushed: 2023-09-28T07:06:24.000Z (over 2 years ago)
- Last Synced: 2024-04-14T01:58:33.437Z (about 2 years ago)
- Language: Rust
- Size: 1.65 MB
- Stars: 58
- Watchers: 7
- Forks: 38
- Open Issues: 18
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE-APACHE2
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
**UPDATE**
In order to streamline our dev process, the `astar-frame` repository has been merged into the main repository [`astar`](https://github.com/AstarNetwork/Astar).
For future issues and pull requests, please kindly submit in the [`astar`](https://github.com/AstarNetwork/Astar) repo instead.
We appreciate your understanding and support to Astar Network.
-----

[](https://github.com/AstarNetwork/astar-frame/actions)
[](https://github.com/AstarNetwork/astar-frame/tags)
[](https://substrate.dev/)
[](https://github.com/AstarNetwork/astar-frame/LICENSE)
[](https://twitter.com/AstarNetwork)
[](https://twitter.com/ShidenNetwork)
[](https://www.youtube.com/channel/UC36JgEF6gqatVSK9xlzzrvQ)
[](https://hub.docker.com/r/staketechnologies/astar-collator)
[](https://discord.gg/astarnetwork)
[](https://t.me/PlasmOfficial)
[](https://medium.com/astar-network)
Astar Network is an interoperable blockchain based the Substrate framework and the hub for dApps within the Polkadot Ecosystem.
With Astar Network and Shiden Network, people can stake their tokens to a Smart Contract for rewarding projects that provide value to the network.
This repository only contains custom frame modules, for runtimes and node code please check [here](https://github.com/AstarNetwork/Astar/).
For contributing to this project, please read our [Contribution Guideline](./CONTRIBUTING.md).
## Versioning Schema
Repository doesn't have a dedicated master branch, instead the main branch is assigned to the branch of active polkadot version, e.g. `polkadot-v0.9.13`.
All deliveries should be made to the default branch unless they are intended for another temporary branch.
When a pallet has been modified (version in .toml is updated), a new release tag must be created.
Naming format for the tag is:
*pallet-name*-**toml-version**/polkadot-**version**
E.g. `pallet-dapps-staking-1.1.2/polkadot-v0.9.13`.
### dApps-staking Pallets
Since both `pallet-dapps-staking` and `pallet-precompile-dapps-staking` are tightly related, we use a direct dependency (**path**) from the precompile to FRAME pallet. Due to this, both pallet versions should be the same (incrementing one also means that other should be incremented).
When creating tags, it is sufficient to just create a single tag for `pallet-dapps-staking` and reuse it for the precompiles in `Astar` repo.
## Workspace Dependency Handling
All dependencies should be listed inside the workspace's root `Cargo.toml` file.
This allows us to easily change version of a crate used by the entire repo by modifying the version in a single place.
Right now, if **non_std** is required, `default-features = false` must be set in the root `Cargo.toml` file (related to this [issue](https://github.com/rust-lang/cargo/pull/11409)). Otherwise, it will have no effect, causing your compilation to fail.
Also `package` imports aren't properly propagated from root to sub-crates, so defining those should be avoided.
Defining _features_ in the root `Cargo.toml` is additive with the features defined in concrete crate's `Cargo.toml`.
**Adding Dependency**
1. Check if the dependency is already defined in the root `Cargo.toml`
1. if **yes**, nothing to do, just take note of the enabled features
2. if **no**, add it (make sure to use `default-features = false` if dependency is used in _no_std_ context)
2. Add `new_dependecy = { workspace = true }` to the required crate
3. In case dependency is defined with `default-features = false` but you need it in _std_ context, add `features = ["std"]` to the required crate.
## Further Reading
* [Official Documentation](https://docs.astar.network/)
* [Whitepaper](https://github.com/AstarNetwork/plasmdocs/blob/master/wp/en.pdf)
* [Whitepaper(JP)](https://github.com/AstarNetwork/plasmdocs/blob/master/wp/jp.pdf)
* [Subtrate Developer Hub](https://substrate.dev/docs/en/)
* [Substrate Glossary](https://substrate.dev/docs/en/knowledgebase/getting-started/glossary)
* [Substrate Client Library Documentation](https://polkadot.js.org/docs/)