Grant Proposal : Sign-In with Conflux

APPLICATION INTRODUCTION

  • Title & Description:
    • Title: Sign-In With Conflux.
    • EIP-4361: Sign-In with Ethereum is a new standard that allows people to use their web3 wallet identity when logging in to web services, as opposed to a username/password pair. Adjust Sign-In with Ethereum to work with Fluent on Conflux Core and with Fluent and MetaMask on Conflux eSpace.
    • Technical Grant, Tier-1
  • Scope:
    • Log-in is a key component in many web services, be it web2 or web3.
    • Instead of asking teams to reinvent the wheel every time, we want to provide an SDK that they can use to implement “Log-In with Conflux” in their apps. See https://login.xyz.
    • In the short-term, this will allow dapps to implement convenient login flows for their users.
  • Requirements:
    • The existing Log-In With Ethereum stack (SDK) should be forked and adjusted with minimal modifications so it works with Conflux.
    • Also provide an easy-to-follow documentation for projects wishing to use this SDK.
    • The implementation should adhere to EIP-4361 as much as possible.
    • The implementation should be open-sourced.
  • Specifications:

TEAM

Alone on the project, I’am fullstack developper since 9 years. I already work with SignIn components (Facebook, Google…).
I am familiar with front end and securities constraints

LinkedIn :
https://www.linkedin.com/in/mickaël-poulhazan-59158761/
Github :

Example of personnals projects:

Apod-Sky
https://apod-sky.firebaseapp.com/

Chatbot :
https://parobot.fr/

Curriculum vitae :
https://cv-mpoulhazan.herokuapp.com/

TOTAL BUDGET AND FUNDING TIER

The estimated budget is 100$ x 40h = 4.000$ (TIER 1)

ROADMAP

  • Init projet (Github, fork and init project) : 4H
  • Developpment and unit tests : 30H
  • Publish and testing (publish on npm) : 4H
  • Documentation and sharing git : 2H

Specification of the software

SDK (JS)
Typescript
Jest

Strong linter conditions for easy maintenance and clear code.
Comments and units tests for easy understanding for new developpers

MAINTENANCE CONSIDERATIONS

I can maintain or give the privileges on git to new maintener.

6 Likes

Hi @KCharlemagne, thanks for applying for a Conflux Network grant!

I see for your application you just copied the grant’s description. Are you familiar with SIWE? What would be the main steps to make it compatible with Conflux?

I’d expect the SIWE SDK will work with eSpace/MetaMask with no modification. However, on Core Space with Fluent, the APIs and signing process are a bit different (see CIP-23).

1 Like

Hi,

I have read the code of SIWE and no worries about complexity.
The main steps will be

  1. Fork SIWE lib
  2. Forksiwe quickstart for testings in local
  3. Updates SiwcMessage params in SIWE quickstart to map Conflux adresse and Test for MM and eSpace without change SIWE code
  4. Swich Etherum references to Conflux in SIWE, update en adapt code for Fluent compatibility, ajust styles to Conflux theme, build lib in local and link new version in siwe quickstart libs
  5. Test in local and fix potentials bugs
  6. Deploy lib on npm repository

Which name can I choose for the new lib? I think “SIWC” for Sign In With Conflux, and the name is available on npm repo

1 Like

Thanks, that sounds like a good plan. SIWC sounds good to me.

Let’s wait for some more feedback from other grants committee members. We will make a decision about your application in a week or so.

1 Like

Ok thanks

1 Like

Hello @KCharlemagne we appreciate your grant proposal application. I don’t have any additional question for you, but I need to discuss this with the other committee members before I come a decision. We expect to come back to you with an answer soon.

Hi Nico, ok I waiting for your answer

1 Like

To summarize the discussion so far: SIWE has multiple SDKs, this grant will focus on the main TypeScript SDK. The plan is to fork https://github.com/spruceid/siwe and make some minimal modifications so that it is compatible with Conflux Core (Fluent) and Conflux eSpace (MetaMask). It should remain easy to keep the fork up-to-date with upstream changes.

The official quickstart examples https://github.com/spruceid/siwe-quickstart should work on Conflux where possible (e.g. we will not support ENS here). Please also provide a simple documentation/article explaining how people can start using SIWC in their apps (with frontend and backend examples).

I approve this application. (fyi: 2 approvals are required, and we will follow up with you after that about the next steps.)

2 Likes

Ok, this steps are also my roadmap. I’m working on it and I have currently no blocking points.
I will provide also a quickstart for SIWC and a documentation

1 Like

Hello @KCharlemagne , I approve this application too. With this two upvotes we are ready to move forward with the next steps. We’ll reach out to you to discuss details. Thanks for applying. Regards

1 Like

Hi,

Thanks for your approbation.
Just a question, do you know what is the equivalent for
ethers.utils.verifyMessage
in Conflux SDK ?

You might find these usefeul:

I think you’ll need to use ecdsaRecover and compare the addresses.


Congratulations, your application is now approved.

I will be your main point of contact for this grant. Please reach out on Discord so that we can draft the grant contract. My handle is Thegaram | Conflux#0249.

1 Like

Ok thank you.
I’ve found what I need in the documentation.
It’s ok, I am on the discord : KidCharlemagne#9855

Total Grant Budget: $4,000

Total Timeline: 1 week

Milestone 1 (4 days): SIWC developpements

Deliverable 1: SIWC library, library javascript usable with npm
Deliverable 2: SIWC quickstart, a simple quickstart for dev which helps to use SIWC with front and back examples

Milestone 2 (1 day): SIWC deploiement and documentation

Deliverable 1: Deployment of SIWC on NPM
Deliverable 2: Simple documentation in SIWC readme and npm documentation

Budget: 5 Days = 40 hours @ $100/hour = $4,000

Available after for help and support.

Hi,

SIWC is ready to use!

SIWC repository :

Quickstart :

SIWC package on npm :

SIWC parser package on npm :

You can try the functionnality with the quickstart.
I just have to finish some units tests but the review can start now.

Ask me if you have any question.
Regards

1 Like

Hi,
Issues are resolved.
You can find the article on Medium here https://medium.com/@mickalpoulhazan/f394d9c0d099

Hey hey. Thank for that awesome grant and Sign in implementation on Conflux Network👍. Conflux Russian Community support you and already release and share Russian version of your Article on telegram: https://t.me/confluxrussianann/499 and on forum:
https://forum.conflux.fun/t/siwc-web3/15185
But ukranian admin delete it @displaystyle without any reason it’s how understand? I’m three hours in a row make article for Russian community, share link on it. He delete but we are public and share it with community, where that anti community admins can’t have zero power, feel free to check: https://telegra.ph/SIWC---Vash-novyj-standart-autentifikacii-Web3-vmeste-s-Conflux-05-17, with deep explanation about how it’s work and what benefits for Conflux Ecosystem it’s can bring on our new Community Telegram Chat, Announcement Thread on Telegram native, original that was launch up to date with Russian Community Launch on middle of 2020 year, also we revoke SIWC thread on forum: “SIWC” - Ваш новый стандарт аутентификации Web3 вместе с Conflux.. Here is our reposted article: And that Ukrainian chick delete it here!!! @thegaram @0xn1c0 @Conflux_TOC @Conflux_Cami @camillacaban Camilla it’s your guy. What he do? It’s community oriented deal?

1 Like

Dear user, thank you for bringing this to your attention.

Unfortunately, you have been warned more than once for using non-official channels and chats that you have created and make them fud. They cannot be accepted and approved.

We ask you to use all the official resources of the project for the last time and use them in writing any articles or mentions.

All official links to the Russian community:

Also use our official project links in your other mentions:
Conflux Network

We issue you a warning, including for profanity and inappropriate communication.

Thanks.

This topic is temporarily closed for at least 4 hours due to a large number of community flags.

This topic was automatically opened after 60 days.