Skip to content
FISSION Web API TypeScript Client
TypeScript
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
src
test
tools
.editorconfig
.env
.gitignore
.travis.yml
CONTRIBUTING.md
ISSUE_TEMPLATE.md
LICENSE
README.md
code-of-conduct.md
package-lock.json
package.json
rollup.config.ts
tsconfig.json
tslint.json

README.md

FISSION IPFS Web API

NPM License Build Status Maintainability Built by FISSION Discord

A TypeScript client library for access accessing the FISSION Web API.

Installing

$ npm install --save @fission-suit/client

API

Unauthenticated

content

Returns content at given CID.

Params:

  • cid: CID (string) required
  • baseURL: string defaults to fission web-api at https://hostless.dev

Example:

import { content } from '@fission-suite/client'
const helloWorld = await content("QmWATWQ7fVPP2EFGu71UkfnqhYXDYH566qy47CnJDgvs8u")

url

Returns a formatted url for a given CID.

Params:

  • cid: CID (string) required
  • baseURL: string defaults to fission web-api at https://hostless.dev

Example:

import { url } from '@fission-suite/client'
const formattedURL = url("QmWATWQ7fVPP2EFGu71UkfnqhYXDYH566qy47CnJDgvs8u")

Authenticated

These methods require a username/password from the fission webserver. These can be provisioned by the Heroku addon.

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://hostless.dev
  • 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)

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://hostless.dev

Example:

import { remove } from '@fission-suite/client'
const auth = { username: "username", password: "password" }
await remove("QmWATWQ7fVPP2EFGu71UkfnqhYXDYH566qy47CnJDgvs8u", auth)

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://hostless.dev

Example:

import { pin } from '@fission-suite/client'
const auth = { username: "username", password: "password" }
await pin("QmWATWQ7fVPP2EFGu71UkfnqhYXDYH566qy47CnJDgvs8u", auth)

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
You can’t perform that action at this time.