This is library helps to integrate blockstarter with client's dashboard
npm i blockstarter-wl
- auth
- logout
- confirmEmail
- forgotPassword
- resetPassword
- changePassword
- updateProfile
- panel
- address
- contributors
First of all define a storage
var storage = {
isBrowser: true, //=> you cannot duplicate requests for browser
baseUrl: "http://server.url",
sessionId: null,
apiKey: 'TEST-APIKEY',
dashboard: null
};
Login or Register
var blockstarter = require('blockstarter-wl');
if (storage.apiKey == null) {
throw "API Key is required";
}
blockstarter.auth({
isBrowser: storage.isBrowser,
baseUrl: storage.baseUrl,
email: 'test@test.com',
password: 'unique password',
confirmUrl: "http://redirect-on-confirm" // will redirect here http://redirect-on-confirm?confirmation-id=XXXXX
project: 'KickCity',
reference: 'traffic-source',
apiKey: storage.apiKey
}, function(err, session){
if (err != null) {
throw err;
}
if (session.sessionId == null) {
throw "Session ID is missing";
}
storage.sessionId = session.sessionId;
console.log(session.sessionId);
});
Remove sessionId from the system
Send confirmation-id
and session-id
to confirm email
Documentation is not ready
if (storage.apiKey == null) {
throw "API Key is required";
}
var request = {
isBrowser: storage.isBrowser,
baseUrl: storage.baseUrl,
apiKey: storage.apiKey,
email: "your@email.com",
project: "KickCity",
transport: "postmaster@test.mailgun.org",
returnUrl: "http://restore-password.com" //server will invoke http://restore-password.com?restore-key=SOME_RANDON_KEY
}
blockstarter.forgotPassword(request, function(err, dashboard){
if (err != null) {
throw err;
}
console.log("done");
});
User obtains email message with restore password link
and then user fills the form.
You should obtain restore-key
from query params and send it to the server
if (storage.apiKey == null) {
throw "API Key is required";
}
var request = {
isBrowser: storage.isBrowser,
baseUrl: storage.baseUrl,
apiKey: storage.apiKey,
newPassword: "newPassword",
transport: "postmaster@test.mailgun.org",
restoreKey: "Obtain restore key from ?restore-key=SOME_RANDON_KEY"
}
blockstarter.resetPassword(request, function(err, dashboard){
if (err != null) {
throw err;
}
console.log("done");
});
Change password when session is created and user is online
if (storage.apiKey == null) {
throw "API Key is required";
}
if (storage.sessionId == null) {
throw "Session is required";
}
var request = {
isBrowser: storage.isBrowser,
baseUrl: storage.baseUrl,
apiKey: storage.apiKey,
sessionId: storage.sessionId,
newPassword: "newPassword",
oldPassword: "oldPassword",
transport: "postmaster@test.mailgun.org"
}
blockstarter.changePassword(request, function(err, dashboard){
if (err != null) {
throw err;
}
console.log("done");
});
Almost like changePassword but can update email
, username
, address
optionaly
Documentation is not ready
Information about Totals, Rates, Currencies, etc. in order to build a main screen where contributor can
- get address to send money
- check his transactions
- check common information about project
- get total raised (progress)
if (storage.sessionId == null) {
throw "Session is required";
}
if (storage.apiKey == null) {
throw "API Key is required";
}
blockstarter.panel(storage, function(err, dashboard){
if (err != null) {
throw err;
}
storage.dashboard = dashboard;
console.log(dashboard);
});
Get [btc, ltc, eth, waves, dash, zec] address
if (storage.sessionId == null) {
throw "Session is required";
}
if (storage.apiKey == null) {
throw "API Key is required";
}
if (storage.dashboard == null) {
throw "Dashboard is required";
}
var request = {
isBrowser: storage.isBrowser,
baseUrl: storage.baseUrl,
apiKey: storage.apiKey,
sessionId: storage.sessionId,
dashboard: storage.dashboard,
type: 'ltc'
}
blockstarter.address(request, function(err, addressInfo){
if (err != null) {
throw err;
}
console.log(addressInfo);
});
User can ask for help and admin will contact him by email
if (storage.sessionId == null) {
throw "Session is required";
}
if (storage.apiKey == null) {
throw "API Key is required";
}
blockstarter.helpMe(storage, function(err, info){
if (err != null) {
throw err;
}
console.log('done')
});
Get list of contributors for administrator
if (storage.apiKey == null) {
throw "API Key is required";
}
var request = {
isBrowser: storage.isBrowser,
baseUrl: storage.baseUrl,
apiKey: storage.apiKey,
project: "KickCity"
}
blockstarter.contributors(request, function(err, list){
if (err != null) {
throw err;
}
console.log(list)
});