Spruce Developer Update #29

In case you missed it, check out our previous update here:

Spruce Developer Update #28
At Spruce, we’re letting users control their identity and data across the web. Here’s the latest from our development efforts.

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:
Plant a Tree and Control Your Data with SSX At ETHDenver
We’re happy to announce that we are demoing an app called SSX Quest that shows how Sign-In with Ethereum can extend user control into interactions with user-controlled data, beyond just identity.
  • 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:
Go From Sign-In with Email to Sign-In with Ethereum using SSX
Part of our continued work with SSX involves making Sign-In with Ethereum both as easy as possible for developers to integrate and having support for various environments and use cases. We’ve recently heard from developers that they wish to integrate Sign-In with Ethereum, but still would like to re…
  • We've updated our ssx-react package to be compatible with the latest versions of wagmi 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 and connect 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, and EIP-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.

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: