0.8.3 • Published 10 months ago

@bicycle-codes/message v0.8.3

Weekly downloads
-
License
SEE LICENSE IN LI...
Repository
github
Last release
10 months ago

message

tests Socket Badge types module install size license

Create and verify signed messages with the webcrypto API.

Contents

install

npm i -S @bicycle-codes/message

example

create a message

import { create } from '@bicycle-codes/message'

// const { crypto } = program.components
await create(crypto, { type: 'test', value: 'wooo' })

The returned object has a format like

{
    author: 'did:key:...',
    signature: '123abc',
    ...message
}

!NOTE
the message will have the fields author and signature appended to it. author is the DID that was used to sign this message. It is read by verify(message).

import { test } from '@nichoth/tapzero'
import { create } from '@bicycle-codes/message'

let req
test('create message', async t => {
    // program is from
    // const program = await odd.program({
    //   ...config
    // })
    const { crypto } = program.components

    req = await create(crypto, { type: 'test', value: 'wooo' })
    t.ok(req, 'message was created')
    t.equal(typeof req.signature, 'string', 'should have a signature')
    t.ok(req.author.includes, 'did:key:', 'should have an author field')
    t.equal(req.type, 'test', 'should have the properties we passed in')
})

verify a message

import { test } from '@nichoth/tapzero'
import { verify } from '@bicycle-codes/message'

test('verify a message', async t => {
    // `req` is the message we created above
    const isOk = await verify(req)
    t.equal(isOk, true, 'should return true for a valid message')
})
0.8.1

10 months ago

0.8.0

10 months ago

0.8.3

10 months ago

0.8.2

10 months ago

0.7.3

1 year ago

0.7.2

1 year ago

0.7.0

1 year ago

0.6.1

1 year ago