xdv-universal-wallet
v0.3.3
Published
A wallet for documents and tokens
Downloads
59
Readme
xdv-universal-wallet
XDV Universal Wallet
Creates a 3ID protocol enabled Ed25519 or Web3 provider
Example
const did = await Wallet.create3IDEd25519({
passphrase: 'abcdef123456',
})
expect(did.id.length).to.be.above(0)
const ipfsManager = new IPFSManager(did.did)
await ipfsManager.start()
const fil = Buffer.from('fffffffffffffffffffffff')
// auth
await did.did.authenticate()
const cid = await ipfsManager.addSignedObject(fil, {
name: 'UnitTest.txt',
contentType: 'text/text',
lastModified: new Date(),
})
expect(cid.length).to.be.above(0)
const res = await ipfsManager.getObject(cid)
expect(res.value.name).equal('UnitTest.txt')
API
crypto/Wallet
static async createES256K(options: any)
Creates an ES256K universal wallet
Parameters
passphrase
: Passphrasewalletid
: A wallet id, set it to load a previously created wallet, otherwise leave emptyrpcUrl
: An EVM Compatible chain (Ethereum, Binance Smart Chain, etc)registry
: Contract address for EVM compatible ethr-did registry
Returns a XDVUniversalProvider
did
: A DID object from 3ID library. Allows to authenticate and sign with IPLDsecureMesssage
: UsesEthCrypto
for encrypting and decryptingpublicKey
: A public key as an array likeissuer
: A DID object for issue signersweb3
: Web3 instance used by DAppsid
: A wallet idaddress
: Wallet address
static async create3IDEd25519(options: any)
Creates an Ed25519 universal wallet
Note: Signing only, support for X25519 will be added later
Creates an universal wallet for ES256K
Parameters
passphrase
: Passphrasewalletid
: A wallet id, set it to load a previously created wallet, otherwise leave empty
Returns a XDVUniversalProvider
did
: A DID object from 3ID library. Allows to authenticate and sign with IPLDsecureMesssage
: UsesEthCrypto
for encrypting and decryptingpublicKey
: A public key as an array likeissuer
: A DID object for issue signersweb3
: Web3 instance used by DAppsid
: A wallet idaddress
: Wallet address
static async createWeb3Provider(options: any)
Creates a Web3 provider universal wallet
Parameters
passphrase
: Passphrasewalletid
: A wallet id, set it to load a previously created wallet, otherwise leave emptyrpcUrl
: An EVM Compatible chain (Ethereum, Binance Smart Chain, etc)registry
: Contract address for EVM compatible ethr-did registry
3id/DIDManager
3id/DriveManager
3id/IPFSManager
3id/W3CVerifiedCredential
issueCredential(did: DID, issuer: any, holderInfo: any)
Issues a Verified Credential
Parameters
- @param options { passphrase, walletid, rpcUrl }