Code Monkey home page Code Monkey logo

sol-did's Introduction

did:sol

Welcome to the did:sol Method monorepo.

Solana is a high-speed, low-fee public ledger based on a novel Proof-of-History consensus network. The SOL DID method is a method for storing DIDs and managing DID documents on Solana.

This repository contains:

Drivers:

sol-did's People

Contributors

buzzec avatar chriteixeira avatar craigmoore1 avatar dankelleher avatar dependabot[bot] avatar diosakhilleus avatar flipscholtz avatar joncinque avatar julianspring avatar rado0x54 avatar sudocurse avatar w4rum avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

sol-did's Issues

on-chain: Finish commented tests

Problem

There are a lot of tests commented in program/test/functional.rs which would double check a lot of the instructions for updating and closing accounts.

Solution

Make them work

Can we use an Ed25519 keypair (like Solana web3 uses)?

Instead of:

// generate an X25519 key, eg using 'tweetnacl'
import nacl from 'tweetnacl';

const keyPair = nacl.sign.keyPair();

Can we use an ED25519 keypair?

import { Keypair } from "@solana/web3.js";
const keyPair = new Keypair();

Since people are already likely to be using @solana/web3.js?

Edwards keypairs (ED25519) are better than X25519 but they're not a hundred percent interchangable - from this crypto StackExchnage answer:

Under the birational equivalence of Curve25519 and edwards25519, each X25519 public key corresponds to two possible Ed25519 public key

Cannot find module '@identity.com/sol-did-client'

Hello, I cloned the repo and did an npm install and I was trying to run npm run build in sol-did/sol-did/client/packages/cli However I get the error in the title (Cannot find module '@identity.com/sol-did-client'). Thing is, it is downloaded because $ npm list @identity.com/sol-did-client sol-did@ /home/lydacious/sol-did/sol-did └─┬ @identity.com/[email protected] -> ./client/packages/cli └── @identity.com/[email protected] -> ./client/packages/core

Has anyone faced this issue? Thanks!

program: Add version to DID account data

Problem

Over time, as the program and spec evolves, the program will need to potentially handle multiple different formats for the DID document.

Solution

Forward compatibility! Add a version field at the start of SolidData, and make sure that it can't be written by the Write instruction

**ERROR:** Buffer is not defined at _getPDAKeyFromAuthority (sol-data.ts:19:8)

I am trying to test the implementation in a Vue.js Application.

**ERROR:**  Buffer is not defined at _getPDAKeyFromAuthority (sol-data.ts:19:8)
 import * as SolDiD from '@identity.com/sol-did-client';

 const didSolIdentifier = SolDiD.DidSolIdentifier.create(response.publicKey, 'devnet');
            console.log('DID Sol Identifier:', didSolIdentifier.toString());
            const service = await SolDiD.DidSolService.build(didSolIdentifier);
            const didDoc = await service.resolve(); // This line causes an error 

When I look at the file in question, it seems to be missing the import for Buffer. ?

Documentation Feedback: in http://g.identity.com/sol-did/#create

The documentation is not clear. e.g. It makes a difference between IDENTIFIER and AUTHORITY, which I asumed was a derived address from the AUTHORITY, which led me to attempt to create a didDoc off-chain to later use the clint lib to push it on-chain if the user decided it was time or when it was complete. -> https://gist.github.com/chongkan/a78803c61211ee592fec1666316191ac

Then, when I moved on, tried the above methods and the DID generated by the Client Lib is simple a concatenation of the wallet public_key.

e.g. did:sol:(network:){walletAddress}

image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.