Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add frontier-pos-template #2342

Closed
wants to merge 1 commit into from
Closed

add frontier-pos-template #2342

wants to merge 1 commit into from

Conversation

weimeme
Copy link
Contributor

@weimeme weimeme commented Jul 13, 2024

Project Abstract

This is a development template based on Polkadot's NPOS consensus, compatible with EVM.
It aims to enable new developers or teams in the Polkadot ecosystem to quickly create EVM-compatible chains based on NPOS consensus.

Grant level

  • Level 1: Up to $10,000, 2 approvals
  • Level 2: Up to $30,000, 3 approvals
  • Level 3: Unlimited, 5 approvals (for >$100k: Web3 Foundation Council approval)

Application Checklist

  • The application template has been copied and aptly renamed (project_name.md).
  • I have read the application guidelines.
  • Payment details have been provided (Polkadot AssetHub (DOT, USDC & USDT) address in the application and bank details via email, if applicable).
  • I understand that an agreed upon percentage of each milestone will be paid in vested DOT, to the Polkadot address listed in the application.
  • I am aware that, in order to receive a grant, I (and the entity I represent) have to successfully complete a KYC/KYB check.
  • The software delivered for this grant will be released under an open-source license specified in the application.
  • The initial PR contains only one commit (squash and force-push if needed).
  • The grant will only be announced once the first milestone has been accepted (see the announcement guidelines).
  • [] I prefer the discussion of this application to take place in a private Element/Matrix channel. My username is: @_______:matrix.org (change the homeserver if you use a different one)

@github-actions github-actions bot added the admin-review This application requires a review from an admin. label Jul 13, 2024
Copy link
Contributor

CLA Assistant Lite bot: Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution. Please submit the following text as a separate comment:


I have read and hereby sign the Contributor License Agreement.


You can retrigger this bot by commenting recheck in this Pull Request

@weimeme
Copy link
Contributor Author

weimeme commented Jul 13, 2024

CLA Assistant Lite bot: Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution. Please submit the following text as a separate comment:

I have read and hereby sign the Contributor License Agreement.

You can retrigger this bot by commenting recheck in this Pull Request

I have read and hereby sign the Contributor License Agreement.

Copy link
Member

@semuelle semuelle left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @weimeme, thanks for the application. Happy to support this, but there are some small issues I commented on below that need fixing/explaining.


- **Team Name:** ChainSupport
- **Payment Details:**
- **Payment**: 0xcC1974d462B9F22F37D09c70F6023Ef9167EB3De (USDC)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We need a Polkadot and AssetHub address. Payments on Ethereum are not offered anymore.

## Development Status :open_book:

### project
https://github.com/ChainSupport/frontier-pos-template
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you elaborate what the status is?

Comment on lines +122 to +123
> Because our entire team of developers typically serves different public chain development teams,
> there is a requirement for a certain level of anonymity for our past GitHub accounts. If you need to know which specific projects we participated in, feel free to message me privately.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you please send us proof of your previous open source work to [email protected]?

> It will drive community discussions on further optimizing the public chain development process, allowing the community to collaboratively enhance the development experience at the application layer.
> The work involved could easily cost much more than this $4,000. We simply hope that it doesn't waste too much money before being widely adopted. In short, this initiative is worth pursuing.

### Milestone 1 Example — Basic functionality
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is template text, please adapt it to your project.

| **0b.** | Documentation | We will provide a documentation tutorial for creating an EVM template based on NPOS consensus from scratch, for the community's reference. This will help future developers maintain the project and facilitate community code review. |
| **0c.** | Testing and Testing Guide | Core functions will be fully covered by comprehensive unit tests to ensure functionality and robustness. In the guide, we will describe how to run these tests. See the [delivery guidelines](https://grants.web3.foundation/docs/Support%20Docs/milestone-deliverables-guidelines#testing-guide) for details. |
| **0d.** | Docker | We will provide a Dockerfile(s) that can be used to test all the functionality delivered with this milestone. |
| 0e. | Article | We will publish an **article** that explains [...] (what was done/achieved as part of the grant). (Content, language, and medium should reflect your target audience described above.) |
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is template text, please adapt it to your project.

| 1. | Client | An NPOS consensus and EVM-compatible client. |
| 2. | runtime | An NPOS consensus and EVM-compatible runtime. | |
| 3. | Substrate chain | An EVM-compatible chain with NPOS consensus. |
| 4. | Friendly code structure | A developer-friendly code structure, similar to the one found in https://github.com/substrate-developer-hub/substrate-node-template.git. |
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This does not sound like a deliverable, but a feature of a deliverable. I suggest to remove it or make it part of one of the other deliverables.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This does not sound like a deliverable, but a feature of a deliverable. I suggest to remove it or make it part of one of the other deliverables.

The deliverable is a fully functional solo chain with NPOS and EVM compatibility.


- Are there any other projects similar to yours in the Substrate / Polkadot / Kusama ecosystem? If so, how is your project different? Please identify and assess any projects addressing the same need and explain how your project is distinct. Feel free to include applicable research data, statistics, or metrics.
https://github.com/substrate-developer-hub/substrate-node-template, No EVM compatibility and no NPOS.
https://github.com/substrate-developer-hub/frontier-node-template, No NPOS and the code structure is not developer-friendly.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you explain how you want to improve the code structure to make it more developer-friendly?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you explain how you want to improve the code structure to make it more developer-friendly?

We hope that the code structure of this template, which is compatible with NPOS and EVM, can be similar to https://github.com/paritytech/polkadot-sdk/tree/master/templates/solochain. It should include Docker and some common scripts to assist in development. The testnet and mainnet should each have their own runtime and client, allowing any team to quickly launch their testnet and mainnet without having to write any code from scratch.

@semuelle semuelle self-assigned this Jul 15, 2024
@semuelle semuelle added the changes requested The team needs to clarify a few things first. label Jul 15, 2024
@semuelle
Copy link
Member

pinging @weimeme

@weimeme
Copy link
Contributor Author

weimeme commented Jul 30, 2024

pinging @weimeme

I apologize for the delayed response. We've been researching and coding recently. It turns out that creating such a template indeed requires a lot of effort and time from each development team, and it even necessitates highly experienced Substrate developers to accomplish it. I will review the application in the next few days and then update it.

@keeganquigley
Copy link
Contributor

Hi @weimeme just a friendly ping for an update :)

@PieWol PieWol assigned PieWol and unassigned semuelle Aug 22, 2024
Copy link
Collaborator

@Noc2 Noc2 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@weimeme I will close the PR for now. Feel free to ping us, if I should reopen it.

@Noc2 Noc2 closed this Aug 27, 2024
@weimeme
Copy link
Contributor Author

weimeme commented Sep 10, 2024

@weimeme I will close the PR for now. Feel free to ping us, if I should reopen it.

@semuelle @keeganquigley @Noc2 @PieWol We apologize for the delay in responding. We have been busy developing the client for this project and communicating with more potential teams to understand their difficulties and needs. Currently, four teams are seeking our support to use Polkadot and Ethereum technologies to create their own solo chains. They are also following the progress of Polkadot 2.0, but their Substrate developers lack the experience to implement a solo chain that is compatible with both NPOS and EVM in a short time. We believe that supporting them while open-sourcing this technology and related discussions is very meaningful and significant for the large-scale adoption of Substrate technology.

Moreover, achieving full EVM compatibility requires more work. We found that in Blockscout, the transfer records of the balances module are still not displayed, which requires someone to try, identify, and solve the problems. We are very eager to receive initial support from W3F to explore this technology. At the same time, we are already promoting this technical solution to other teams, which will ensure continuous funding to maintain such a project in the future. I suggest we reopen this PR and discuss it further.

@weimeme
Copy link
Contributor Author

weimeme commented Sep 10, 2024

The new grant application has been updated.

@weimeme
Copy link
Contributor Author

weimeme commented Sep 10, 2024

This is the recent development work we did for SuperEx: https://github.com/weimeme/scs-chain. The client that is compatible with both NPOS and EVM still requires us to do a lot of detailed development work, which has taken us a lot of time. We do not want other teams with similar needs to repeat this work in the future, as it is meaningless and unreasonable.

@Noc2
Copy link
Collaborator

Noc2 commented Sep 10, 2024

Thanks for the updates here. However, I'm unable to reopen the PR since the master was force-pushed. Could you create a new PR?

@weimeme weimeme mentioned this pull request Sep 10, 2024
12 tasks
@weimeme
Copy link
Contributor Author

weimeme commented Sep 10, 2024

Thanks for the updates here. However, I'm unable to reopen the PR since the master was force-pushed. Could you create a new PR?

@Noc2 Thank you very much for your response. I have submitted a new PR #2391.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
admin-review This application requires a review from an admin. changes requested The team needs to clarify a few things first.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants