@fission-suite/client
v2.0.5
Published
Fission Web API TypeScript Client
Downloads
33
Keywords
Readme
FISSION IPFS Web API
A TypeScript client library for access accessing the FISSION Web API.
Installing
$ npm install --save @fission-suite/client
API
Utility
getContentURL
Returns the url to access the given CID on our service.
Params:
- cid: CID (string) required
- baseURL: string defaults to fission web-api at
https://runfission.com
Example:
import { getContentURL } from '@fission-suite/client'
const formattedURL = getContentURL("QmWATWQ7fVPP2EFGu71UkfnqhYXDYH566qy47CnJDgvs8u")
// "https://runfission.com/ipfs/QmWATWQ7fVPP2EFGu71UkfnqhYXDYH566qy47CnJDgvs8u"
Unauthenticated
register
Registers a user for the Fission service.
Params:
- username: string required
- password: string required
- email: string
Example:
import { register } from '@fission-suite/client'
await register("username", "password", "[email protected]")
peers
Gets the address for all IPFS nodes in the Fission Network.
Example:
import { peers } from '@fission-suite/client'
await peers()
// [
// '/ip4/3.215.160.238/tcp/4001/ipfs/QmVLEz2SxoNiFnuyLpbXsH6SvjPTrHNMU88vCQZyhgBzgw',
// '/ip4/184.68.124.102/tcp/64417/ipfs/QmQ2Jo91xQyVjhw1kmpk9eeHj6A4W1u5BYdh5xjfC5h11g'
// ]
content
Returns content at given CID.
Params:
- cid: CID (string) required
- baseURL: string defaults to fission web-api at
https://runfission.com
Example:
import { content } from '@fission-suite/client'
const helloWorld = await content("QmWATWQ7fVPP2EFGu71UkfnqhYXDYH566qy47CnJDgvs8u")
// "Hello World"
Authenticated
These methods require a username/password from the fission webserver. These can be provisioned through our Fission CLI.
verify
Verifies the given credentialls.
Params:
- auth: Auth ({username: string, password: string}) required
- baseURL: string defaults to fission web-api at
https://runfission.com
Example:
import { verify } from '@fission-suite/client'
await verify({ username: "username", password: "password" })
// true
resetPassword
Verifies the given credentialls.
Params:
- auth: Auth ({username: string, password: string}) required
- baseURL: string defaults to fission web-api at
https://runfission.com
Example:
import { resetPassword } from '@fission-suite/client'
await resetPassword("newPassword", { username: "username", password: "password" })
// "newPassword"
add
Adds content to IPFS and returns the CID of that content.
Params:
- content: Content (json, string, file-stream) required
- auth: Auth ({username: string, password: string}) required
- baseURL: string defaults to fission web-api at
https://runfission.com
- name: string optional name for your file, defaults to
undefined
Example:
import { add } from '@fission-suite/client'
const auth = { username: "username", password: "password" }
const content = {
key1: 123,
key2: 456
}
const cid = await add(content, auth)
// "QmWATWQ7fVPP2EFGu71UkfnqhYXDYH566qy47CnJDgvs8u"
remove
Unpins content from Fission server and disassociates CID with user account.
Params:
- cid: CID (string) required
- auth: Auth ({username: string, password: string}) required
- baseURL: string defaults to fission web-api at
https://runfission.com
Example:
import { remove } from '@fission-suite/client'
const auth = { username: "username", password: "password" }
await remove("QmWATWQ7fVPP2EFGu71UkfnqhYXDYH566qy47CnJDgvs8u", auth)
// undefined
pin
Pins content to Fission server.
Params:
- cid: CID (string) required
- auth: Auth ({username: string, password: string}) required
- baseURL: string defaults to fission web-api at
https://runfission.com
Example:
import { pin } from '@fission-suite/client'
const auth = { username: "username", password: "password" }
await pin("QmWATWQ7fVPP2EFGu71UkfnqhYXDYH566qy47CnJDgvs8u", auth)
// undefined
cids
Gets all CIDs associated with the given user.
Params:
- auth: Auth ({username: string, password: string}) required
- baseURL: string defaults to fission web-api at
https://runfission.com
Example:
import { cids } from '@fission-suite/client'
const auth = { username: "username", password: "password" }
await cids(auth)
// [
// "QmYwXpFw1QGAWxEnQWFwLuVpdbupaBcEz2DTTRRRsCt9WR",
// "QmYp9d8BC2HhDCUVH7JEUZAd6Hbxrc5wBRfUs8TqazJJP9",
// ]
updateDNS
Updates the users associated subdomain to point at the given CID
Params:
- cid: CID (string) required
- auth: Auth ({username: string, password: string}) required
- baseURL: string defaults to fission web-api at
https://runfission.com
Example:
import { updateDNS } from '@fission-suite/client'
const auth = { username: "username", password: "password" }
await updateDNS("QmYwXpFw1QGAWxEnQWFwLuVpdbupaBcEz2DTTRRRsCt9WR", auth)
// "username.runfission.com"
Fission objects
For repeated calls, instantiate a fission object:
import Fission, { FissionUser } from '@fission-suite/client'
const fission = new Fission("https://someurl.com")
const helloWorld = await fission.content("QmWATWQ7fVPP2EFGu71UkfnqhYXDYH566qy47CnJDgvs8u")
const fissionUser = fission.login("username", "password")
// Alternately:
// const fissionUser = new FissionUser("username", "password", "https://someurl.com")
const cid = await fissionUser.add("Check this out!")
await fissionUser.pin(cid)
const cids = fissionUser.cids()
Testing
- Run
npm i
- Run tests with:
npm run test
- Or achieve developer zen with
npm run test:watch