Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@fission-suite/client

Package Overview
Dependencies
Maintainers
4
Versions
13
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@fission-suite/client

Fission Web API TypeScript Client

  • 2.0.5
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
4
Created
Source

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-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@email.com")

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

FAQs

Package last updated on 07 Mar 2020

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc