stratumn-sdk v0.7.0
Stratumn SDK for Javascript
Installation
Browser
<!-- Polyfill for browser compatibility -->
<script src="https://libs.stratumn.com/babel-polyfill.min.js"></script>
<!-- Actual Stratumn SDK -->
<script src="https://libs.stratumn.com/stratumn-sdk.min.js"></script>If you want a specific version, include https://libs.stratumn.com/stratumn-sdk-{version}.min.js instead (for instance https://libs.stratumn.com/stratumn-sdk-0.4.1.min.js).
Node.js
$ npm install stratumn-sdkvar StratumnSDK = require('stratumn-sdk');Quickstart
StratumnSDK.getApplication('quickstart')
.then(function(app) {
console.log(app);
// Create a new map, you can pass arguments to init
return app.createMap('My message map');
})
.then(function(res) {
// You can call a transition function like a regular function
return res.addMessage('Hello, World');
})
.then(function(res) {
console.log(res.link);
console.log(res.meta);
})
.catch(function(err) {
// Handle errors
});Reference
StratumnSDK#getApplication(appName)
Returns a promise that resolves with an application.
StratumnSDK
.getApplication('quickstart')
.then(function(app) {
console.log(app.id);
})
.catch(function(err) {
// Handle errors
});Application#createMap(...args)
Returns a promise that resolves with a new map.
StratumnSDK
.getApplication('quickstart')
.then(function(app) {
return app.createMap('A new map');
})
.then(function(res) {
console.log(res);
})
.catch(function(err) {
// Handle errors
});Application#getLink(hash)
Returns a promise that resolves with an existing link.
StratumnSDK
.getApplication('quickstart')
.then(function(app) {
return app.getLink('aee5427');
})
.then(function(res) {
console.log(res);
})
.catch(function(err) {
// Handle errors
});Application#getMap(mapId, tags)
Returns a promise that resolves with the meta data of the links in a map, optionally filters by tags.
StratumnSDK
.getApplication('quickstart')
.then(function(app) {
return app.getMap('56ef33', ['tag1', 'tag2']);
})
.then(function(res) {
console.log(res);
})
.catch(function(err) {
// Handle errors
});Application#getBranches(linkHash, tags)
Returns a promise that resolves with the meta data of the links whose previous hashes are the given hash, optionally filters by tags.
StratumnSDK
.getApplication('quickstart')
.then(function(app) {
return app.getBranches('abcdef', ['tag1', 'tag2']);
})
.then(function(res) {
console.log(res);
})
.catch(function(err) {
// Handle errors
});Application#getMapIds()
Returns a promise that resolves with all the map ids in this application.
StratumnSDK
.getApplication('quickstart')
.then(function(app) {
return app.getMapIds();
})
.then(function(res) {
console.log(res);
})
.catch(function(err) {
// Handle errors
});Link#getPrev()
Returns a promise that resolves with the previous link of a link.
StratumnSDK
.getApplication('quickstart')
.then(function(app) {
return app.getLink('aee5427');
})
.then(function(res) {
return res.getPrev();
})
.then(function(res) {
console.log(res);
})
.catch(function(err) {
// Handle errors
});Link#load()
Returns a promise that resolves with the full link. Can be useful when you only have the meta data of links.
StratumnSDK
.getApplication('quickstart')
.then(function(app) {
return app.getBranches('aee5427');
})
.then(function(res) {
return Promise.all(res.map(function(link) { return link.load(); }));
})
.then(function(res) {
console.log(res);
})
.catch(function(err) {
// Handle errors
});Link#getBranches(tags)
Returns a promise that resolves with the meta data of the links whose previous hashes are the hash of the link, optionally filters by tags.
StratumnSDK
.getApplication('quickstart')
.then(function(app) {
return app.getLink('aee5427');
})
.then(function(res) {
return res.getBranches(['tag1']);
})
.then(function(res) {
console.log(res);
})
.catch(function(err) {
// Handle errors
});Link#:transitionFunction(...args)
Executes a transition function and returns a promise that resolves with a new link.
StratumnSDK
.getApplication('quickstart')
.then(function(app) {
return app.getLink('aee5427');
})
.then(function(res) {
return res.addMessage('Hello, World!');
})
.then(function(res) {
console.log(res);
})
.catch(function(err) {
// Handle errors
});Development
Install dependencies:
$ npm installBuild:
$ npm run build:allTest:
$ npm testTest coverage:
$ npm run test:cov
$ open coverage/lcov-report/index.htmlLint:
$ npm run lintLint and test:
$ npm run checkBump version:
$ npm version major|minor|patchPublish:
$ npm publish9 years ago
9 years ago
9 years ago
9 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago