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. And that Ukrainian chick delete it here!!! @thegaram @Nico @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.

What? It’s not yours. It’s community forum community logo and community chat that you cannot decline. Here. Back up translated article Ivan, im use original links, and links where community is. And where you see here fud? It’s useful translation. That was made not for you. Ты допрыгаешься у меня козлик. But ok. You are mentioned translation of useful tech granted Conflux imnplemented standart article as fud. Ok. Good luck. Not miss leak someone ass my dear. And not forget to copy paste and share as your own. It’s would be first your valuable article for lady 6 months my little ukranian guy. And bless on your great community manager results . Excellent quarterly work. And you can try blame about original links where real community migrate from you. It’s not change anything. And same small dirty tricks only once again show who you really are. it’s not my fault that you’re not able to lead the community. this is your personal problem. You for now play against rules of that forum and play against community again. Not only community, but also against developers who are build on Conflux. Your act aggressive. And aggressive was done on community oriented actions and released deal. I rarely regret something, but I really regret that I supported and helped you. But now everyone knows your price. and yes, you came up with a cool idea from personal messages like a slug to write nasty things about me to people. what you are counting on is not entirely clear. but you have already sunk below the plinth, working off your $ 400. No worry all that you delete already recorded cheers. According to rules, you must be ask me to make changes in my article, if you really see some points that against rules. Coz that article useful and have real value as for community as for developers who are would be build on Conflux. Any others only say thanks for same . And also volume of released translation not little. You not warn me. You are not hidden article but delete it. It’s not me, but you act against rules


Check your result.

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