Spruce Developer Update #29
In case you missed it, check out our previous update here:
At Spruce, we’re letting users control their identity and data across the web. Here’s the latest from our development efforts:
SSX
SSX (Self-Sovereign Anything), is the easiest way to integrate Sign-In with Ethereum, enable DAO logins, resolve ENS names, and more. It is the go-to library for developers in web3 to get started with decentralized identity.
- We recently demonstrated how a user can Sign-In with Ethereum, obtain various credentials that are saved and encrypted in an off-chain data vault, and authorize access to that data vault to present those credentials. We are currently working on how developers can access these various workflows through SSX. To check out that demo, go to https://quest.ssx.id, or check out the following post:
- We've recently heard from developers that they wish to integrate Sign-In with Ethereum, but still would like to retain email-based login flows for their users – so we built out a tutorial to show developers how to do that using NextAuth. Check out the following tutorial to see how it works:
- We've updated our
ssx-react
package to be compatible with the latest versions ofwagmi
and RainbowKit (SSX #82). - We've added a SSX Server Quickstart example (SSX #96).
- Gnosis Standalone Improvement (a.k.a bug when no server on gnosis)
- We've made various improvements to our Gnosis Safe extension modal between standalone usage improvements (SSX #69), UI enhancements (SSX #72), and are currently addressing a few other improvements (SSX #98, #100).
- We're finishing up support for Auth.js in SSX (SSX #76)
- We've increased testing and improved our existing examples (SSX #81), which updates Lens tests according to the latest Lens API changes, and we've updated our token gated extension example dependencies (SSX #93).
- We've exposed the
extend
andconnect
methods on SSX in order to let someone to connect the SSX instance to the Ethereum provider without logging in (SSX #87).
Sign-In with Ethereum Core Libraries
Sign-In with Ethereum is a new form of authentication that enables users to control their digital identity with their Ethereum account and ENS profile instead of relying on a traditional intermediary.
- We are looking to move EIP-4361 to
last-call
, andEIP-5573
to review. If you have any questions or concerns about the specification, please make sure to reach out to the Spruce team. - We are currently finishing up review of fixes in our core TypeScript library and planning a strategy around migrating developers over to a v3.0 of the library.
- Our next Sign-In with Ethereum community call is scheduled for Thursday, March 9th at 2pm ET.
Kepler
Kepler is a decentralized storage network organized around data overlays called Orbits. Kepler allows users to Securely share their digital credentials, private files, and sensitive media to blockchain accounts, all using your Web3 wallet.
- Bugs have been fixed in both the backend (#138) and SDK (#55) to allow passing metadata on objects stored in the
Object
store. - The Kepler docker image has been fixed to avoid depending on protoc (#136).
- The Kepler SDK can now retrieve a list of active sessions and delegations (#53, #134).
SpruceID
SpruceID is a decentralized identity toolkit that provides everything you need for signing, sharing, and verifying trusted information.
SSI/DIDKit
- We've refactored the DIDKit CLI to be able to use subcommands (#339).
TreeLDR
TreeLDR is a schema definition language that aims at describing both the structure and semantics of the defined schema in a comprehensible way. It lies at the intersection between RDF and structure-oriented schema definition frameworks such as JSON Schema.
- We've recently added support for RDF sub properties (#114)
- We've also added RDF Turtle language support (#119)
- Finally, we've added correct support for language-tagged strings (#120)
Rebase
- We've added large amounts of prototype work to support two new flows, POAP ownership and NFT ownership (Rebase #44 and #45), and added basic credential verification to the Rebase witness (Rebase #47).
- We adjusted how errors propagate in the JS client to pass through messages from the witness.
- We've made small changes across the repository, like changes to the email flow’s copy (Rebase #49). We have begun planning for long-term improvements such as adding type bindings to our JS libraries, improving the developer experience of the JS client, and cleaning up/simplifying the underlying Rust logic.
Spruce lets users control their data across the web. Spruce provides an ecosystem of open-source tools and products for developers that let users collect their data in one place they control, and show their cards however they want.
If you're curious about integrating Spruce's technology into your project, come chat with us in our Discord: