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 offchain-subnames application #83

Open
wants to merge 15 commits into
base: master
Choose a base branch
from

Conversation

wuminzhe
Copy link
Contributor

No description provided.

@wuminzhe wuminzhe requested review from hackfisher, hujw77 and boundless-forest and removed request for boundless-forest September 19, 2024 05:17
Copy link
Collaborator

@hackfisher hackfisher left a comment

Choose a reason for hiding this comment

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

Thank you for applying for the grant, which is also related to the RFP: #61

To summarise from the communication meeting, the sponsorship amount will be approximately 2K USD, with a potential increase to 2.5K USD if the committee deems the deliverables to be outstanding.

To align with the budget, I suggest introducing @hujw77 to help the scope of Milestone 1, focusing on solution/contracts R&D and deployment.

Milestone 2 can remain dedicated to the gateway and UX, which must be open source.

We propose removing the milestone 3 for the admin UI, as we anticipate no need for daily operations. Any parameter adjustments can likely be managed via RingDAO proposals.

Additionally, please clarify how an anti-spam mechanism will be implemented.

@wuminzhe
Copy link
Contributor Author

updated, pls review again. @hackfisher @hujw77

@hujw77
Copy link

hujw77 commented Sep 23, 2024

@wuminzhe
Copy link
Contributor Author

wuminzhe commented Oct 4, 2024

based on deployed contracts by @hujw77, there are 2 parts needed to be implemented, the frontend ui and the gateway. Here are some questions to discuss on how to get them work together.

  1. for frontend ui.

    1. a product design. especially on fee and renew/extend pages
    2. contract functions.
      1. Register function
      2. getFee function
      3. Address to subname function
  2. for gateway.

    1. contract functions.
      1. subname to address function

@wuminzhe
Copy link
Contributor Author

wuminzhe commented Oct 10, 2024

image
  1. do you have any other requirements? when and how to renew/extend?
  2. define the fee structure.
  3. define the subname rules.

@wuminzhe
Copy link
Contributor Author

@hackfisher @hujw77 pls check these questions and the basic design. if needed, we can schedule a meeting for this. cc @nblogist

@nblogist
Copy link

@hackfisher @hujw77 pls check these questions and the basic design. if needed, we can schedule a meeting for this. cc @nblogist

Looks straight forward - i go with the ringdao color palette - and i see we can be flexible with design according to standard ENS type stuff.

@wuminzhe can you list any other functionality you'd like on the UI - so i have an exhaustive list - in case the sketch above didn't capture something.

@wuminzhe
Copy link
Contributor Author

src/L2/RegistrarController.sol

valid: check name length
available:
registerPrice:
renew:

@wuminzhe
Copy link
Contributor Author

wuminzhe commented Nov 5, 2024

@hackfisher updated

@hackfisher
Copy link
Collaborator

@hackfisher
Copy link
Collaborator

@hackfisher
Copy link
Collaborator

@hackfisher updated

I see that Milestone 1 mainly covers your learning phase, which seems a bit light. For Milestone 2, it only supports the testnet and includes Sepolia, which is unrelated to Darwinia. I hope Milestone 2 can support the Darwinia mainnet and go live (accessible to users), while also introducing more gateway details and supplementing any contract work from Echo by Itering (if available).

Is the gateway’s task to query domain records from the RegistrarController on Darwinia, with a signer responsible for signing once the CCIP Resolver matches successfully?

Based on my understanding, the Gateway’s source code and the domain solver can both be replaceable, correct?

Note: This needs to be a public good (open source) for Darwinia and Darwinia-related projects.

Comment on lines +33 to +43
- https://github.com/wuminzhe/basenames
The repo for the basenames contracts.

- https://github.com/wuminzhe/offchain-resolver
The repo provides the offchain resolve client.

- https://github.com/wuminzhe/subnames-ui
The repo for the UI.

- https://github.com/wuminzhe/subnames-gateway
The repo for the offchain gateway.
Copy link
Collaborator

Choose a reason for hiding this comment

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

These seems not open source. It's OK for now, but open source and license need to be committed in delivery of each milestones.

Copy link

Choose a reason for hiding this comment

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

Copy link
Contributor Author

Choose a reason for hiding this comment

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

yes, I will opensource all

Copy link
Collaborator

Choose a reason for hiding this comment

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

Hi, please add the open source commitment in your tasks/deliveries in the application.

@wuminzhe
Copy link
Contributor Author

wuminzhe commented Nov 5, 2024

I see that Milestone 1 mainly covers your learning phase, which seems a bit light.

Milestone 1 is not only for learning, but also for the contracts detail and align it with ringdao's reqirements.

For Milestone 2, it only supports the testnet and includes Sepolia, which is unrelated to Darwinia. I hope Milestone 2 can support the Darwinia mainnet and go live (accessible to users),

  1. Milestone 2 includes the step of production deployment.
  2. testnet is Darwinia Koi network.

while also introducing more gateway details and supplementing any contract work from Echo by Itering (if available).

The Gateway is an ERC-3668 implemetion. so, I think the spec is a better place to show the detail. For coding detail, I will provide a guide with the code.

I will add echo's task.

Is the gateway’s task to query domain records from the RegistrarController on Darwinia, with a signer responsible for signing once the CCIP Resolver matches successfully?

Yes, absolutely correct.

Based on my understanding, the Gateway’s source code and the domain solver can both be replaceable, correct?

Yes, gateway is a offchain service. you can update the url in L1Resolver to replace it. Even the L1Resolver itself can be replaced with a new one.

@hujw77
Copy link

hujw77 commented Nov 5, 2024

https://github.com/ringecosystem/basenames/blob/main/ADDR.md
Can we use this repo‘s contract addresses for testing, so that I can fix it if there are any problems?

@wuminzhe
Copy link
Contributor Author

wuminzhe commented Nov 5, 2024

https://github.com/ringecosystem/basenames/blob/main/ADDR.md Can we use this repo‘s contract addresses for testing, so that I can fix it if there are any problems?

I made my own fork to play with it and play the foundry framework. And I have deployed contracts to Darwinia Koi with sepolia.

Here is the latest UI working with the contracts
https://subnames-ui.vercel.app/

2. Deploy to testnet(Darwinia Koi).
4. Production deployment

### Additional Information
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
### Additional Information
### Additional Information
Please note that this grant includes contract and solution contributions from Itering. As Itering’s work is provided separately as a Service Provider to RingDAO, compensation for these efforts is not included in the grant amount. The full grant reward will be allocated to Aki for fulfilling the grant scope, with Itering offering the necessary support.

Comment on lines +61 to +77
1. Contracts
1. Pre research.
Echo did and will continue the research.
Aki registered a real basename([akiwu.base.eth](https://www.base.org/name/akiwu)) on the https://www.base.org/names to verify the operations logic.
2. Fork basenames repo and update the contracts to align with Darwinia Chain.
3. Deploy to testnet(Dariwnia Koi).
2. Gateway
1. Implement the EIP-3668 offchain gateway.
2. Deployment.
3. UI
1. Implement logic for
1. wallet connect including customizing it to support subname.
2. register including reverse register and fee calculation
3. renew
2. Deploy to testnet(Darwinia Koi).
4. Production deployment

Copy link
Collaborator

Choose a reason for hiding this comment

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

Please refine the Production Development section, clarifying that it will be deployed on the Darwinia chain, and list the key deliverables in detail:

1.	Scope of the open-source code repository, including its license.
2.	Documentation and testing (if available).
3.	Pricing plan, including the arrangement and distribution of revenue.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

yes, I will update them.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants