Skip to main content

Subalfred

  • Team Name: hack-ink
  • Payment Address: 0xccd79b2b77e71292924e85de130bfb1c03d94522 (Ethereum)
  • Level: 2

Project Overview 📄​

Overview​

subalfred's goal is to become an all-in-one Substrate development toolbox.

It provides a bunch of tools to make the developers feel more comfortable while playing with Substrate.

Project Details​

Check the Subalfred Book.

Ecosystem Fit​

  • Where and how does your project fit into the ecosystem?
    • A CLI tool is written in Rust that Substrate developers can use anywhere.
  • Who is your target audience (parachain/dapp/wallet/UI developers, designers, your own user base, some dapp's userbase, yourself)?
    • I encourage all the Substrate developers to try this tool. I believe there must be at least one feature that benefits them.
  • What need(s) does your project meet?
    • Improve the experience for Substrate developers.
    • Speed up the debug/development process.
  • Are there any other projects similar to yours in the Substrate / Polkadot / Kusama ecosystem?
    • Some features are unique and some features are similar to the other projects.
    • If so, how is your project different?
    • If not, are there similar projects in related ecosystems?
      • No.

Team 👥​

Team members​

  • Xavier Lau

Contact​

Personal. (no legal structure entry)

Team's experience​

Xavier Lau

  • Six years of experience in Rust.
  • Three years of experience in Substrate.
  • Darwinia Network core developer, since 2019.
  • Actively at Substrate StackExchange.

Team Code Repos​

Please also provide the GitHub accounts of all team members. If they contain no activity, references to projects hosted elsewhere or live are also fine.

Team LinkedIn Profiles (if available)​

Development Status 📖​

GitHub, Subalfred Book

There are three parts:

Overview​

  • Total Estimated Duration: 8 weeks
  • Full-Time Equivalent (FTE): 1 FTE
  • Total Costs: 30,000 USD in Ethereum USDC

Milestone 1 — Polish the existing features and add more new features​

  • Estimated duration: 5 weeks
  • FTE: 1
  • Costs: 24,000 USD
NumberDeliverableSpecification
0a.LicenseGPLv3
0b.DocumentationI'll document every pub function and a basic tutorial that explains how a user interact with Subalfred.
0c.Testing guideCore functions will be fully covered by unit tests to ensure functionality and robustness. Simply run cargo test under the project root.
1.Core: check featuresI'll finish the this features, which is use for checking Substrate runtime runtime-benchmarks/std/try-runtime features enable status.
2.Core: use paritytech/ss58-registryI'll make PR to paritytech/ss58-registry to support my custom logic, and setup the dependabot to update ss58-registry automatically.
3.Core, CLI: override runtime codeI'll make it able to override the runtime code while fork-off the chain state.
3.Core, CLI: rpcI'll finish the this features, user could use this command to send the RPC call to the Substrate node.
4.CLI: JSON outputI'll make key command provides JSON output.
5.CLI: stable Rust toolchainI'll rewrite the subcommand parts in procedure macro to remove the unstable Rust features usage.
6.CLI: --at accept block numberI'll make the --at arg accept block number input, instead of a block hash only. Any command with --at arg will be updated.
7.ReleasesLinux, macOS, Windows prebuilt binaries, and crates.io release.

Milestone 2 — Add more new features​

  • Estimated Duration: 2 week
  • FTE: 1
  • Costs: 4000 USD
NumberDeliverableSpecification
0a.LicenseGPLv3
0b.DocumentationI'll document every pub function and a basic tutorial that explains how a user interact with Subalfred.
0c.Testing guideCore functions will be fully covered by unit tests to ensure functionality and robustness. Simply run cargo test under the project root.
1.LicenseGPLv3.
2.Core, CLI: track-updatesList the companions that you need to do from substrate/cumulus/frontier/parity-bridges-substrate.
3.Core, CLI: update-subdepsUpdate the substrate/cumulus/frontier/parity-bridges-substrate dependencies in one command.
4.ReleasesRelease Linux, macOS, Windows prebuilt binaries on GitHub, and crates.io.

Milestone 3 — Provide checks' GitHub Actions​

  • Estimated Duration: 1 week
  • FTE: 1
  • Costs: 2000 USD
NumberDeliverableSpecification
0a.LicenseGPLv3
0b.DocumentationI'll provide the inline documentation.
0c.Testing guideI'll provide a GitHub Actions setup example and describe how to check the result.
1.GitHub Actions: check runtime featuresI'll provide a GitHub Actions, which could check the runtime features status while developing.
2.GitHub Actions: check runtime storageI'll provide a GitHub Actions, which could check the runtime storage changes while developing.
3.GitHub Actions: check runtime versionI'll provide a GitHub Actions, which could check the runtime version changes while developing.
4.ReleaseRelease on GitHub.

Future Plans​

  • Keep connected with the community/parity to provide more useful tools.

Additional Information ➕​

How did you hear about the Grants Program? Web3 Foundation Website / Medium / Twitter / Element / Announcement by another team / personal recommendation / etc. From my team, Darwinia Network.

As I said, subalfred's goal is to become an all-in-one Substrate development toolbox. I browsed Substrate's issues and was active on Substrate StackExchange, and discuss with other developers to know what do they need while developing on Substrate. Currently, I have already implemented some of them and plan to do more. So, I hope all these features can be a part of this grant.

According to your suggestions. I'll document every public functions, and write unit tests for them. There are around 30+ features. Please note this is a part of milestone 1.

I'd love to convert these milestone to issues on the repository. It will be much easier to track the status.

Amending​

  • Remove 0.d from milestone 1 and 2. Because I realize that it is much easier for you to test this with a simple cargo test command. So, I decide to use cargo instead of docker. Discussion