# FIL Accounts & App Logins Working Group Join us for an initial kick off call, introductions, and sharing of areas of focus. ###### tags: `FILaccounts` :::info - **Sign up to join:** https://lu.ma/q0943ki2 - **Date:** Aug 2, 2022 9:00 AM PDT / 12:00 PM EDT / 4:00 PM UTC - **Facilitator:** @bmann, [Fission](https://fission.codes) ::: We will record the meeting and publish the video afterwards. ## Video Video link: https://vimeo.com/735877418 <div style="padding:66.57% 0 0 0;position:relative;"><iframe src="https://player.vimeo.com/video/735877418?h=8ebcaff96d&amp;badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479" frameborder="0" allow="autoplay; fullscreen; picture-in-picture" allowfullscreen style="position:absolute;top:0;left:0;width:100%;height:100%;" title="FIL Accounts &amp;amp; App Logins Working Group 2022-08-02"></iframe></div><script src="https://player.vimeo.com/api/player.js"></script> ## Agenda <!-- feel free to add an Agenda item. Depending on relevance / timing, we may ask you to schedule for next meeting and/or have a dedicated session for interested people --> ### Intros We'll go around the group and have everyone introduce themselves. Feel free to add details about yourself and relevant links here ahead of time - Boris Mann, @bmann, Fission https://fission.codes - Patrick Woodhead, @patrickw, Protocol Labs Retrieval Markets ipns://retrieval.market - Jon Schwartz, [@j_schwartzz](https://twitter.com/j_schwartzz), GLIF - https://apps.glif.io ### Overview Boris will present some of his previous work in the space, and ideas for moving FIL Accounts forward. This is a kick off meeting, so nothing is set in stone yet -- please bring your own ideas and what you want to see as outcomes. The FIL Accounts presentation from last year's labweek will be used as a starting point and overview: https://docs.google.com/presentation/d/1AT3npAPhZJeJhJxRpWUFQelALV7J8dm92EeLaLUa_r0/edit?usp=sharing ### Communication Channels The [#identity channel in Filecoin Slack](https://filecoinproject.slack.com/archives/C02JJ644V5W). HackMD for meeting agenda / notes? Luma https://lu.ma for ongoing meetings / calendar invites - will look at either a "Filecoin" Luma community and/or an "FIL Accounts" one? TBD Open question: best place for long form discussion? ### App Login Spec FIP We'll want to document how to work with wallets and RPC endpoints and apps, and turn it into a Filecoin Improvement Proposal (FIP). Can we learn from other sovereign chains here? Are there any "leapfrog" opportunities -- e.g. around account abstraction? Also, FIL has built in multisig support at the chain level -- does this offer any interesting opportunities? SIWE is "Sign in With Ethereum" -- but can also be read as "Sign in With Everything". Can look at aligning with this spec too. Chain Agnostic Standards Alliance (CASA) is happening Sept 15th in Berlin. A `did:fil` and some other FIL chain specs can be added there. DAGHouse (Web3Storage, NFTStorage) are actively adopting UCAN, which helps with decentralized auth / offchain delegation (disclaimer: and was developed by Boris/Fission team, it is now a community working group https://github.com/ucan-wg). * eg. UCAN support in Estuary for end-to-end FIL support ### FIL.js We'll need to build a standard "FIL.js" library that implements the App Login spec. App developers can add this to their app to enable FIL-powered logins. Looking at related chain implementations like web3.js, ethers.js, [cosmos.js](https://github.com/cosmostation/cosmosjs) -- we may investigate how to _include_ FIL support in there? Relevant libraries: - https://filecoin-shipyard.github.io/filecoin.js/ - https://www.npmjs.com/package/@glif/filecoin-wallet-provider ### Wallets in the Wild * Glif * Brave * MetaMask Snap * Trust Wallet -- no login capability, but could likely support through WalletConnect v2 support ### RPC Endpoints Glif team have a full featured endpoint, ARG/ecosystem team have one. Need to talk to Infura, others, about availability / turning on endpoints which accept signed transactions for FIL transfer. ### FVM - EVM Some discussion about current state. * likely to have an EVM-compatible RPC endpoint with "shims" for FIL native translation * open questions around needing a FIL account first (for devs) -- as well as supporting EVM-flavoured accounts/wallets natively ## :closed_book: Follow Ups <!-- Review raw notes and collect actionable follow ups --> - [ ] Schedule next meeting - [ ] Setup FILAccounts WG Github Org ## Notes <!-- Use this space for real time / raw notes as needed --> Jenny - FIL Slack * working with Lotus * TPM of Lotus Dietrich * Browsers and Platforms * W3C * Interop & standardization Ally * Dev advocate FIL Foundation * FVM team Raul * Lead of FVM project * Learn more * Account abstraction Alexandru * contribute to a lot of projects in FIL * learn about identity -- make active contributions * FIL.js ? Get link Jonathan * Glif project, and wallets * help with login Taosheng * come from * contributed projects to FIL * reputation Pando project * implementing DIF Michael * Sonr -- looking to build user owned internet * learn more about WG * working on project to work on bridge / Cosmos Steven * work at Fission * WalletAuth Dragan * FVM team * TPM Eva * work on ecosystem collabs at Outercore * learn what to do RFPd JeffG * work at Fission * head of product * webnative Andy * work at Fission * web3 ### Immediate Future Jonathan * Use DIDs and data backpacks -- self sovereign -- separate this out * How to make it easier to build on the FVM without having to rebuild a wallet Boris * FIL accounts first Dietrich * Brave not yet hooked up to FIL provider * WalletConnect * Universal Wallets CCG Scope * FIP defining app signin * RPC support for signing * FIL.js providing injecting of a FIL provider Jonathan * making it easier for devs to work with any wallet * FILSnap * Ledger * DevX or -- create wrappers ### Filecoin.js * not about users or wallets * everything about signing, JSON-RPC API * not saying it should be the only javascript library * putting a team to work on FIL.js * looking at other implementations -- e.g. ethers.js * identity * https://github.com/filecoin-shipyard/filecoin.js ### Account Abstraction Generally speaking -- any contract on chain, to act as a sender of a message vs. Externally Owned Account (EOA) Deep changes to protocol, including mempool, validation of message Main motivator is FEVM -- allow for Filecoin chain to validate Ethereum-flavoured wallets * RLP encoded * Ethereum signature scheme * Filecoin already supports SECP-256k1 * alternative solution -- introduce Ethereum knowledge in baseline Filecoin protocol -- which would be coupled to Ethereum evolution * eg also things like Multisig not inheriting the last sender of transaction * social key recovery * with account abstraction, do a recovery scheme -- (this whole thing is smart contract wallets elsewhere) Two channels on Filecoin Slack * FIL-FIPs, FVM * no FIP yet Authentication of actors -- validate a give message Boris: don't need RPC for _just_ signing ### Chain Agnostic Standards Alliance (CASA) * who is the CASA "rep" for Filecoin ecosystem * file issues to define FIL addressing and other standards * Eva? Tech support from Boris, Jonathan * help from Dietrich on standards ### UX Flows Jonathan -- need to look at flows, around EVM and FIL accounts Cosmos interop as well Boris: Fission can contribute some UX flows * Ryan wrote this https://fission.codes/blog/wallet-stack/ Boris: Link to Kepler / Cosmos + EVM Raul: * offline ? * instantiate a WASM actor * light clients ### RPC Need to have community RPC providers FEVM -- JSON-RPC shim needed Pockt Network --> https://www.pokt.network/ -- round robin RPC providers * Eva has been talking to them ## Chat Log :::spoiler Chat Log 09:01:33 From Raúl Kripalani to Everyone: risky question to ask 09:02:13 From Dietrich Ayala to Everyone: what a rad group 09:02:31 From jennijuju to Everyone: omg so many favs here 09:02:35 From Dietrich Ayala to Everyone: WASN'T ME 09:02:44 From Boris Mann to Everyone: https://hackmd.io/HtiQe4oASsaBLf5NLfc8sg 09:02:45 From Dragan Zurzin to Everyone: Ola 09:03:21 From Ally Haire to Everyone: great agenda 09:03:22 From JSchwartz to Everyone: Sup y’all! Too early for me to show real face 😂 09:03:27 From jennijuju to Everyone: HAHAHAHHAA 09:04:01 From Dietrich Ayala to Everyone: i hear that text in your voice jon 09:04:28 From JSchwartz to Everyone: Lolll 09:07:06 From Eva to Everyone: (Alexandru is from Digital MOB) 09:07:13 From jennijuju to Everyone: ohhhh hiiiiiii 09:07:20 From Ally Haire to Everyone: 🚀 09:07:35 From Ally Haire to Everyone: His face looks fine! disappointing 😛 jk jk 09:07:38 From Dragan Zurzin to Everyone: I’m Dragan - TMP for FVM project, working on Early builders, audits and collabs 09:07:46 From Eva to Everyone: very LA pad JSchwartz 09:07:48 From jennijuju to Everyone: wait Jonathan, is it still dark 09:07:50 From Dragan Zurzin to Everyone: Have some problem with my headset 09:08:00 From JSchwartz to Everyone: I’m an LA boy now @Eva!! 09:08:06 From JSchwartz to Everyone: And ty Ally 09:08:10 From JSchwartz to Everyone: Not dark not dark 09:09:27 From taosheng shi to Everyone: we are building identity solution for Pando project :https://identity.foundation/peer-did-method-spec/ 09:09:35 From Michael Amoako to Everyone: Sounds great 09:09:39 From Ally Haire to Everyone: Awesome - yep happy to chat! 09:10:37 From Dragan Zurzin to Everyone: I’m Dragan - TMP for FVM project, working on Early builders, audits and collabs 09:11:28 From jennijuju to Everyone: Cooool van 09:11:35 From Dietrich Ayala to Everyone: vancoolver 09:11:38 From jennijuju to Everyone: raul…van is cool, have you heard? 09:11:40 From jennijuju to Everyone: lolol 09:11:48 From jennijuju to Everyone: 💙 09:13:01 From Boris Mann to Everyone: https://docs.google.com/presentation/d/1AT3npAPhZJeJhJxRpWUFQelALV7J8dm92EeLaLUa_r0/edit#slide=id.gf88c6a22de_0_78 09:16:28 From Dietrich Ayala to Everyone: https://www.disco.xyz/ 09:16:36 From Eva to Everyone: There is also a PL Metaverse team working on a backpack prototype 09:17:17 From Dietrich Ayala to Everyone: (if you search "disco data backpack" there are some SWEET backpacks…) 09:18:03 From JSchwartz to Everyone: Happy to be here! 09:18:35 From Michael Amoako to Everyone: is fil already a HNS TLD/ will it be? 09:18:52 From Michael Amoako to Everyone: Like would michael.fil resolve 09:19:19 From Boris Mann to Everyone: HNS is a separate system 09:22:15 From Eva to Everyone: WalletConnect said they would be busy with their v2 launch until July but that we can possibly discuss Filecoin after it so it's a good time to revisit them. 09:22:43 From Dietrich Ayala to Everyone: https://w3c-ccg.github.io/universal-wallet-interop-spec/ 09:24:06 From Dietrich Ayala to Everyone: yeah that'd be nice 09:24:09 From Dietrich Ayala to Everyone: ++ 09:27:01 From Dietrich Ayala to Everyone: {chain}.js endgame looks like a bummer for dapp devs 09:27:04 From JSchwartz to Everyone: This is GLIF’s version of “web3.js” which standardizes APIs across each type of supported wallet btw https://www.npmjs.com/package/@glif/filecoin-wallet-provider 09:27:06 From Dietrich Ayala to Everyone: but for now, fil.js is good 09:27:16 From Dietrich Ayala to Everyone: niceeeee 09:28:38 From Eva to Everyone: Alexandru will start working on Filecoin.js soon 09:29:34 From jennijuju to Everyone: https://filecoin-shipyard.github.io/filecoin.js/ 09:29:49 From jennijuju to Everyone: https://github.com/filecoin-shipyard/filecoin.js 09:29:50 From Eva to Everyone: (it's based on Ethers.js) 09:30:46 From jennijuju to Everyone: related FRC discsussion: https://github.com/filecoin-project/FIPs/discussions/422 09:32:55 From Eva to Everyone: Will https://github.com/ChainAgnostic/CAIPs/ work on a multichain provider spec? 09:33:43 From jennijuju to Everyone: https://github.com/filecoin-project/FIPs/discussions/388 09:34:19 From jennijuju to Everyone: we are also looking at Standard Message Authentication Method for Actors 09:34:23 From jennijuju to Everyone: https://github.com/filecoin-project/FIPs/discussions/413 09:34:53 From JSchwartz to Everyone: ^^^ Really like this proposal 09:35:30 From jennijuju to Everyone: may or may not have a prototype 😉 https://github.com/filecoin-project/builtin-actors/pull/502 09:38:56 From jennijuju to Everyone: #fil-fips 09:38:57 From jennijuju to Everyone: #fvm 09:41:20 From jennijuju to Everyone: bump eva's q: Will https://github.com/ChainAgnostic/CAIPs/ work on a multichain provider spec? 09:41:42 From Eva to Everyone: (Filecoin has an external signing library at https://github.com/Zondax/filecoin-signing-tools) 09:43:03 From JSchwartz to Everyone: Yes! 09:44:27 From Eva to Everyone: Cool 09:44:47 From Boris Mann to Everyone: Eva -- I'll share CASA details -- berlin in mid September in person 09:44:54 From Eva to Everyone: Great 09:46:19 From jennijuju to Everyone: ++ I will also chat with Kaitlin from FF, who is gathering feedbacks on what “common goods for filecoin ecystem” project FF should fund in q3, spec maintainers, ux designer and such might be things they wanna support! 09:47:19 From Ally Haire to Everyone: lol 09:48:17 From Eva to Everyone: Does the Sign In With Ethereum spec sort of address this? 09:48:19 From Eva to Everyone: https://eips.ethereum.org/EIPS/eip-4361 09:49:06 From JSchwartz to Everyone: When you say “this”, what aspect are you referring to? 09:49:26 From Eva to Everyone: helping users pick an network/account 09:49:35 From Eva to Everyone: i.e., Sign in With X 09:50:05 From JSchwartz to Everyone: I think it does but only for EVM chains - for instance, Filecoin doesn’t have a Chain ID. This wouldn’t (for example), work (exactly in this way) with Solana 09:50:22 From Eva to Everyone: Someone is working on getting FIlecoin a chain id 09:50:50 From Eva to Everyone: i forget who it was but you just contact https://chainlist.org/ 09:52:45 From JSchwartz to Everyone: Oh interesting - a while back why was very against that https://github.com/filecoin-project/lotus/issues/1138#issuecomment-577891191 09:52:51 From Ally Haire to Everyone: SIWE https://github.com/spruceid/siwe 09:54:24 From Eva to Everyone: Glif Nodes currently does that and it'd public 09:54:33 From Eva to Everyone: it supports mPoolPush 09:54:43 From jennijuju to Everyone: chain.love is maintained by fil-infra team at PL engres, and they only expose lotus gateway apis 09:54:52 From Eva to Everyone: Glif Nodes is subsidized by PL 09:54:55 From Michael Amoako to Everyone: Have to drop to prep for next call but thanks so much all - super excited to plug in here on DID/sign-in ! Will look at recording / slides 09:54:56 From jennijuju to Everyone: (agree we need more node service provider! 09:55:08 From jennijuju to Everyone: lolol 09:55:28 From Eva to Everyone: We will be onboarding more ecosystem node providers soon as well 09:55:47 From jennijuju to Everyone: i think we need a FRC for these endpoints for all impl imho 09:55:48 From Eva to Everyone: (contracts being signed) 09:56:23 From Eva to Everyone: More about Glif NOdes https://lotus.filecoin.io/developers/glif-nodes/ 09:56:42 From Eva to Everyone: They are currently our main community RPC provider 09:57:07 From jennijuju to Everyone: Raul - correct me if im wrong, but the eth rpc that Kevin is working on, will start in lotus? 09:58:23 From Eva to Everyone: Your FVM / EVM wallet will have to know to send it to an Filecoin vs Eth RPC - that is complicated 09:58:36 From JSchwartz to Everyone: Yeah… exactly 09:58:44 From Raúl Kripalani to Everyone: Yes, Kevin is planning to prototype it in Lotus 09:58:47 From Eva to Everyone: We just spoke to Pokt 09:59:16 From Raúl Kripalani to Everyone: The Ethereum JSON-RPC will be offered by Filecoin clients 10:00:08 From jennijuju to Everyone: we are working with kevin to brainstorm, its possible we will have them in its own package, from other full node apis :::