✅ Verify your Twitter and Github Accounts on 3Box

Connect your existing social identities for use in web3

3Box Labs
3Box Labs
Published in
6 min readJan 14, 2019

--

We’re excited to announce that now you can verify your Twitter and Github accounts on 3box.io! Try it today.

By verifying your Twitter and Github accounts on your 3box.io profile, you can bridge the existing trust that you have already established on web2 platforms into the web3 ecosystem.

Any third-party app can display these verifications next to your Ethereum address or 3Box profile in their app, making it easy for other users to recognize you based on your verified, well-known, human-readable social handles rather than needing to rely on identifying you by an unknown, abstract, hexadecimal ethereum address.

Verified profiles and social context FTW!

The improved familiarity and recognition offered by 3Box social verifications add trust, usability, and interoperability to the entire web3 ecosystem. Now you can more easily discover other users and be sure they are who they say they are! Apps only need to lookup your public profile using the 3Box.js API.

Twitter and Github are only the beginning! We’re looking forward to expanding support for additional verifications in the future, including email and other types of verifiable claims. Please let us know what you’d like to see next and why!

For a deeper look at the library that makes these and other identity verifications possible, check out 3box-verifications.

Continue reading to discover…

  • How to verify your social accounts on 3box.io
  • How to integrate verifications in your dapp with 3box-js

How to Verify Your Accounts

Follow the step-by-step instructions outlined below to verify your Twitter and Github accounts.

  1. Sign in to your profile on 3box.io.

2. Edit your profile.

Verify Github

3. Enter your Github account name on the edit page. Click Verify.

If you don’t see the Verified Accounts section on the edit page, you may need to force a reload of the application using the keyboard shortcut “shift + cmd + r” on mac or “ctrl + shift + r” on windows and linux. If that doesn’t work, try clearing browser cache.

4. Click the button in Step 1 to copy your unique verification key.

5. Follow Step 2 to create a new public gist. Click Open a gist file. This will open a new browser tab with an empty file.

6. Give the gist a filename of your choice, then paste your verification key in the body. Finally click Create public gist, located in the bottom right, to save your verification.

7. A successfully saved gist will look like this. Return to the 3Box browser tab.

8. Click Check verification to ensure your verification was successful.

9. If successful, you will see a “Your github is verified!” message.

10. Click Done and return to the edit page, where you can complete your Twitter verification, or save changes.

Verify Twitter

11. Enter your Twitter account name. Click Verify.

12. Click Tweet this to begin tweeting your verification.

13. Click Tweet to tweet your verification.

You must be signed in to Twitter from the same name you entered in 3Box, otherwise your verification will fail. Your Twitter account must also be set to public; tweets from private accounts will result in error.

14. A successful tweet will look like this. Return to the 3Box browser tab.

15. Click Check verifications to confirm your verification was successful.

16. If successful, you will see a “Your Twitter is verified!” message.

17. Click Done to return to the edit page to save changes.

Save Changes

18. View your verifications on the edit page.

19. Scroll to the bottom and click Save.

20. View and enjoy your new verifications!

Integrate Verifications in Your Dapp

Supporting verifications in your app allows you to lookup the ethereum address of your users and check if they have verified their Twitter and Github accounts. If they have, you should feel confident displaying this information in the UI of your app because you can know that it has been verified.

All of this checking can happen in the background without requiring any user engagement, since verifications are saved to the user’s public profile and are always available via static methods in the 3Box.js API.

Displaying a user’s web2 social accounts alongside their ethereum address and 3Box profile will make your app more usable, trustworthy, and engaging.

Upgrade to 3Box.js 1.2

To integrate social verifications, you will need to upgrade to the latest version of 3Box.js — version 1.2.

This version of the API adds support for the 3box-verifications library, which relies on uPort’s did-jwt library. did-jwt is used to issue and verify JWT claims.

How to Get Social Verifications for Users

  1. Install 3box-js.
$ npm install --save 3box

2. Import 3Box into your project.

const Box = require('3box')

3. Call getProfile() to return the public profile for one of more Ethereum addresses.

const profile = await Box.getProfile(‘0x1b2d..’)

4. Call getVerifiedAccounts() with the profile that was returned. If the user has verified their Github or Twitter account, the result of the call should result in an object that has the twitter and/or github keys.

const verified = await Box.getVerifiedAccounts(profile)console.log(verified)

5. Now you can confidently display these verified social accounts in your app!

Example

const profile = await Box.getProfile(‘0x1b2d..’)const verified = await Box.getVerifiedAccounts(profile)console.log(verified)

Output

{     github: {          proof: "https://gist.githubusercontent.com/gitNarwhal/5d90143b87b506f165a5aee6ff638766/raw/55d73f9b6bf9257301ef983fe79243d1705adea0/gistfile1.txt"​​         username: "gitNarwhal"     },     twitter: {          proof: "https://twitter.com/tweetNarwhal/status/1081347464486530048"          username: "tweetNarwhal"          verifiedBy: "did:https:verifications.3box.io"     }
}

Like what you see? Want to contribute?

There are many ways to support 3Box!

Chat: 3Box Community Discord

Code: https://github.com/3box/3box

Careers: https://3box.io/jobs

App Feedback: https://3box.io (log-in required)

Dev Feedback: #feedback on Discord

3Box provides social infrastructure for web3. Integrate 3Box.js to instantly make your dapp more scalable, social, and human. Visit 3box.io to create your profile, github.com/3box/3box to dig into the code, or 3Box Discord to interact with our community. 3️⃣

--

--

3Box Labs
3Box Labs

Software for a more open, safe and collaborative web. We’re building Ceramic Network and IDX.