Announcing Ethereum Profiles 1.0.0 is Live
How to get started using 3Box profiles today 😄
We released Ethereum Profiles version 1.0.0 today!
Ethereum Profiles makes it simple for users to create a reusable profile for their Ethereum address which can easily be shared with dapps to simplify the onboarding experience and create a more frictionless, social web3 dapp ecosystem. Ethereum Profiles allows Ethereum users to collect and control their information on the distributed web using their existing Ethereum wallets.
Ethereum Profiles Developer API
Dapp developers can use the Ethereum Profiles API to easily read and update users’ profiles without needing to store information on the blockchain or a central server. We’re now on 3Box.js version 1.0.0.
A distributed db that supports public and private data for Ethereum usersgithub.com
Built on 3Box
Ethereum’s missing user data layer
Ethereum Profiles is Ethereum’s missing user data layer. 3Box recognized a deep need in the Ethereum market for a more usable and scalable user-managed database system for Ethereum accounts that was capable of supporting seamless and free user onboarding to dapps, enhanced user privacy with encryption, cross-dapp interoperability, free updates, and no wait times.
With Ethereum Profiles, 3Box brings the power of the distributed web to every Ethereum user and paves the way for a more human, social, and connected web3 ecosystem.
How to Create Your Ethereum Profile
The 3Box app (https://3box.io) allows you to create and manage your Ethereum profile. Access the 3Box app from any web3 Ethereum browser.
- Unlock your web3 wallet or browser 🔓
- Log in to 3box.io 👋
- Follow the onboarding instructions ➡️
- Complete your profile 😎
- View your activity feed 🔥
- Log in and share with participating dapps 🔷
1. Unlock your web3 wallet or browser 🔓
The 3Box application requires that users have a web3-enabled browser to access the sites features. Ensure your wallet is unlocked to begin.
If you’re on desktop, we recommend using the MetaMask browser extension with Google Chrome, Mozilla Firefox, or the Brave Browser. If you’re on mobile, we recommend using Coinbase Wallet or Status.im which have built-in Ethereum browsers.
2. Log in to 3box.io 👋
3. Follow the onboarding instructions ➡️
4. Complete your profile 😎
5. View your activity feed 🔥
6. Log in and share with participating dapps 🔷
Users can share the same Ethereum Profile with different dapps, so they can begin to establish a common identity on Ethereum. 3Box is looking to integrate with every project in the Ethereum community so we can all deliver better shared, collaborative experience to our users — together. If you’re interested in working together on this initiative and want more details, please reach out by completing the 3Box integration form, or just drop in our Discord and chat with us there.
How to Integrate Ethereum Profiles API
The 3Box.js Ethereum Profiles Developer API (https://github.com/uport-project/3box-js) allows developers to read and update users’ 3Boxes.
Ethereum Profiles API: a client library allowing dapps to interact with 3Boxgithub.com
- Install from npm
- Call Box.getProfile(<ethereum address>) to lookup a public profile
- Call Box.openBox(<ethereum address>, ethereumProvider) to request interactive permissions
- Call box.onSyncDone(callbackFunction) to know when the db is fully synced
- Call box.public.set(<key>, <value>) or box.private.set(<key>, <value>) to write data
- Call box.public.get(<key>) or box.private.get(<key>) to read data
- Call box.public.remove(<key>) or box.private.remove(<key>) to delete data
- Call box.close() or box.logout() to end the session
1. Install from npm
npm i 3box
2. Call Box.getProfile(<ethereum address>) to lookup a public profile
Retrieve a user’s public profile. Can be called statically at any time, and does not require the user’s consent. Will return the public profile for any ethereum address.
3. Call Box.openBox(<ethereum address>, ethereumProvider) to request interactive permissions
Retrieve a user’s 3box object. Can be used to get and set public and private data associated with the user. Returns a promise which resolves to a `box` object.
4. Call box.onSyncDone(callbackFunction) to know when the db is fully synced
It sometimes takes a short while to fully sync the 3box data from the network. You should register a function using this method to know when the 3box is fully synced.
5. Call box.public.set(<key>, <value>) or box.private.set(<key>, <value>) to write data
Write data to a user’s public profile or private profile. Make sure that the key you use doesn’t collide with any other dapp. Have a look here.
6. Call box.public.get(<key>) or box.private.get(<key>) to read data
Retrieve a user’s public or private data. These functions return a promise that resolves to the value that has been set previously.
7. Call box.public.remove(<key>) or box.private.remove(<key>) to delete data
Remove data from the user’s public or private profile.
8. Call box.close() or box.logout() to end the session
Close the 3box instance gracefully. If you call logout the user will have to give consent again the next time they openBox.
Some developers have been reporting issues with the react npm build. If you encounter issues, try using the the dist file found in the 3box npm package. (node_modules/3box/dist/3box.min.js)
Join the 3Box community call on October 25 to learn more about the Ethereum Profiles 1.0.0 release
We’ll be making introductions, detailing the 3Box 1.0.0 release, sharing the first batch of community integrations, and answering questions. Hope you can make it! Click to add to google calendar.
10 mins — Introductions 👋
10 mins — 3Box v1.0.0 ⭐
15 mins — Community Demos ✨
5 mins — Q/A 💬
About 3Box: 3Box is an open source distributed database project started by members of uPort and ConsenSys in July 2018. Ethereum Profiles 1.0.0 is the first major release by the 3Box team to date. Contribute to 3Box on github: https://github.com/uport-project/3box.