starfishd
v0.0.94
Published
Starfish Daemon
Downloads
24
Readme
Starfishd
- starfish is a decentralized identity management and authentication system powered by Bitcoin.
- starfishd is the reference implementation of the Starfish scheme, which takes the form of a node.js server.
To learn more about the Starfish identity scheme, check out the official documentation at: https://starfish.computer
How Starfishd works
Starfishd is an implementation of the Starfish scheme that takes the form of a node.js module that runs as a web server at port 21000
.
The web server receives POST requests at its /sign
endpoint and signs the request message with its embedded wallet and returns the HTTP response.
As of v0.1.0, the response format looks like this:
{
"address": <The Signer Bitcoin Address>,
"sig": <The Signature>,
"message": <The message that was requested and signed>,
"ts": <The unix timestamp at which the signature was made>
}
Using the node module
Install the module in your project:
npm install --save starfishd
And then start the server:
const starfishd = require('starfishd')
starfishd({
db: <The Key Path for Starfish>
})
It will start a /sign
endpoint at port 21000
.
If you make a POST request with a "message" attribute, it will sign the message and return the response.
<html>
<script>
fetch("http://localhost:21000/sign", {
method: 'post',
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
message: "Sign this message!"
})
}).then((res) => {
return res.json()
}).then((res) => {
console.log("Respons", res)
})
</script>
</html>
Running as standalone
If you want to run Starfishd as a standalone app instead of a node module, you should first checkout the Starfish app, which wraps the Starfishd module in a cross platform app format that supports Mac, Windows, and Linux.
But if you must directly run Starfishd without running it as an app format, you can also do that. Just do:
npm install -g starfishd
to install globally, and then run
starfish