Skip to content

Instantly share code, notes, and snippets.

@dentropy
Created August 14, 2021 05:26
Show Gist options
  • Save dentropy/f7501d30aa56ca14a21f1b5800ebb021 to your computer and use it in GitHub Desktop.
Save dentropy/f7501d30aa56ca14a21f1b5800ebb021 to your computer and use it in GitHub Desktop.
// 2
const { Ed25519Provider } = require('key-did-provider-ed25519')
//import { Ed25519Provider } from 'key-did-provider-ed25519'
// 3
const { randomBytes } = require('@stablelib/random')
const seed = randomBytes(32)
// 4
const provider = new Ed25519Provider(seed)
// My Code
const CeramicClient = require('@ceramicnetwork/http-client').default
const API_URL = ('https://ceramic-clay.3boxlabs.com')
const ceramic = new CeramicClient(API_URL)
const KeyDidResolver = require('key-did-resolver')
const ThreeIdResolver = require('@ceramicnetwork/3id-did-resolver')
const { DID } = require('dids')
const resolver = { ...KeyDidResolver.default.getResolver(),
...ThreeIdResolver.default.getResolver(ceramic) }
const did = new DID({ resolver })
ceramic.did = did
// 5
ceramic.did.setProvider(provider)
async function getDID(){
test = await ceramic.did.authenticate()
console.log(test)
}
getDID()
async function main(){
test = await ceramic.did.authenticate()
console.log(test)
}
//main()
// https://developers.ceramic.network/streamtypes/tile-document/api/
async function writeDID(provider){
await ceramic.did.authenticate()
const { TileDocument } = require('@ceramicnetwork/stream-tile')
const doc = await TileDocument.create(ceramic, {"Some Test" : "I Like Pie"})
console.log("doc")
console.log(doc)
console.log(doc.id)
tmp_stream_id = doc.id.toString()
console.log(tmp_stream_id)
const docOut = await TileDocument.load(ceramic, tmp_stream_id)
console.log("docOut")
console.log(docOut)
console.log(docOut.content)
}
//writeDID(provider)
const { IDX } = require("@ceramicstudio/idx")
const idx = new IDX({ ceramic })
test_profile = {
name: 'TEST USER 420.69',
description: 'BLAZE IT'
}
async function idx_write(){
await ceramic.did.authenticate()
idx_write_result = await idx.set('basicProfile', test_profile)
console.log(idx_write_result)
//ceramic show k2t6wyfsu4pg1lacbeu7pvnxhto76afy456viry48v4knjpwlu7rsrzl0bnwxy
}
//idx_write()
// READ IDX
async function idx_read(){
await ceramic.did.authenticate()
idx_write_result = await idx.get('basicProfile', "did:key:z6Mko6LKitYHkefPxhmWJAqDX4B9SAk7k8kmWNQ74sniY42q")
console.log(idx_write_result)
//ceramic show k2t6wyfsu4pg1lacbeu7pvnxhto76afy456viry48v4knjpwlu7rsrzl0bnwxy
}
//idx_read()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment