UNPKG

steemconnect-firebase-functions

Version:

A TypeScript library that can help you build applications with SteemConnect and Firebase.

78 lines (48 loc) 2.76 kB
## Not only on the Firebase? steemconnect-firebase-functions was designed specifically to work on the **Firebase Cloud Functions** environment. However, **4** of **5** modules are platform agnostic, so you can use them in any NodeJS application. Only the _Firebase_ module is platform specific. ## TypeScript or JavaScript? The library was written in **TypeScript** and compiled down to **ES2015** for production. In some cases, it doesn't matter which language you choose, but in case you use _steemconnect-firebase-functions_ on Firebase Cloud Functions environment, I highly recommend using **TypeScript**. Firebase Cloud Functions run on **Node v6.11.5**, so without TypeScript compiler (or Babel) you won't be able to use **ES7** and **ES8** features such as `async/await` in your functions. Using them can improve readability of your code. Also, if you choose TypeScript you will be able to use a bunch of interfaces and types I created for this library. Believe me, it increases _developer experience_ a lot! ## Installation Before installing library itself, make sure you have **NodeJS** and **NPM** installed: ``` node --version # v8.5.0 npm --version # 5.7.1 ``` Once ensured, you can install the library with a single command: ``` npm i steemconnect-firebase-functions ``` ## Example usage ```typescript import { getAuthorizationUrl, Scope } from 'steemconnect-firebase-functions'; const clientId: string = 'strimi.app'; const redirectUri: string = 'https://strimi.it/redirect'; const scope: Array<Scope> = ['vote', 'comment']; const state: string = 'state342343243242'; const authorizationUrl = getAuthorizationUrl({ clientId, redirectUri, scope, state }); // 'https://steemconnect.com/oauth2/authorize?client_id=strimi.app&response_type=code&redirect_uri=https%3A%2F%2Fstrimi.it%2Fredirect&scope=vote&state=state342343243242' ``` ## Glossary Here are a few terms widely used in this documentation that might be confusing at first: #### _broadcast_ > Event where signed transaction is broadcasted to the network, so that witnesses could validate and include in block. **Source**: [Steem Developer Portal](https://developers.steem.io/glossary/#transactions) --- #### _broadcastable_ A **function** which takes `AccessTokenResponse` object as a parameter and broadcasts any type of operations to the Steem blockchain. Always returns `Promise` which resolves with the `BroadcastResult` object or rejects with the `OAuth2Error` object. Typically used as an **inner function** for other functions. --- #### _operation_ An object (to be more precise, an array) which holds information about **data** we want to include in a transaction.