Skip to content

P2P Network to verify authorship & ownership, store & deliver proofs.

License

Notifications You must be signed in to change notification settings

w3f-grants-archive/anagolay-chain

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Anagolay Network Node

Anagolay is a next-generation framework for ownerships, copyrights and digital licenses. 🚀

Local Development

Here is the list of currently available tasks makers --list-category-steps anagolay which you can run by makers TASK_NAME.

❯ makers --list-category-steps anagolay
[cargo-make] INFO - makers 0.35.15
[cargo-make] INFO - Build File: Makefile.toml
[cargo-make] INFO - Task: default
[cargo-make] INFO - Profile: development
anagolay
----------
build - Compile the Anagolay runtime in debug mode. Accepts any valid build arguments.
build-production - Compile the Anagolay runtime in release mode with  option and custom profile `production`. Accepts any valid build arguments.
build-release-benchmarks - Compile the Anagolay runtime in release mode with feature flag for benchmarks.
chain-dev-purge - Purge the local chain database for debug build.
chain-dev-start - Starts the chain in dev mode with sane default flags.
ci-flow-light - Experimental ci-flow which runs the checks in single run instead many.
clean-all - Remove generated artifacts.
clean-anagolay - Remove generated artifact `anagolay`.
test-benchmarking - Execute unit and integration tests of a anagolay node with flags enabled for testing benchmarks.

Building

makers build

Testing and available commands

We are using the makers crate to automate scripts and make them easier to maintain and execute. All scripts are semantically named and makers top level commands are the same.

Security and code quality

To create the Anagolay node you need to have latest version of the base image anagolay/rust-ci which you can get it from DockerHub

Scanning for the vulnerabilities using builtin Docker scan:

docker scan --file Dockerfile --exclude-base anagolay/node:0.2.1-dev

Audit the code using the Cargo Audit:

# check the security
cargo audit

Running in dev mode

makers chain-dev-start

Testing

To test the full suite run makers test To test documentation examples, run makers test --doc -- --show-output

Benchmarking

To generate pallet weights run from the root of the project. Use the folder name for the pallet. This script will compile the node for you and run the benchmarks.

# TEMPLATE  ./.devops/run-benchmarks.sh CHAIN PALLET $RUN_WITH_BUILD[true << default |false]

# PoE
./.devops/run-benchmarks.sh dev poe false # this will not build it it will only run it

# Workflows
./.devops/run-benchmarks.sh dev workflows # this will build it and run it

# Operations
./.devops/run-benchmarks.sh dev operations


# All pallets and all extrinsics with the release build
./.devops/run-all-benchmarks.sh dev

# All pallets and all extrinsics without the release build
./.devops/run-all-benchmarks.sh dev false

Documentation

Cargo has integration with rustdoc to make it easier to generate docs. To generate pallets/crates documentation run from the root of the project. It'll generate all pallet's documentation.

makers docs-flow --no-deps

docs/api folder will contain the autogenerated docs in the root of the project.

VERY important website to check when upgrading the toolchain https://rust-lang.github.io/rustup-components-history/

License

License: GPL v3

About

P2P Network to verify authorship & ownership, store & deliver proofs.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages