Javascript library for interacting with the Rouge protocol
The Rouge protocol is an open-source blockchain voucher and note protocol built as a suite of smart contracts using a specific token — the Rouge token — on Ethereum compatible blockchains (tested on Ethereum and POA).
Rouge is for all types of usage of non-repudiable and unique usage digital vouchers (for example, e-tickets, e-coupons, cashback notes, etc).
Using the javascript rouge.js package you can easily add non-repudiable and unique usage digital vouchers without learning Solidity in the browser (ÐApps), a nodejs backend app or even a nativescript mobile app.
Install via npm
npm i web3 rouge.js
or yarn
yarn add web3 rouge.js
rouge.js
depends on two modules (web3-eth
and web3-utils
) of the
web3.js library.
rouge.js
is compiled as a collection of CommonJS modules & ES2015 modules for bundlers that support the module
field in package.json (Rollup, Webpack 2).
If you don't use a package manager, you can access rouge.js
via
jsDelivr or
unpkg, download the source, or point
your package manager to the url.
The rouge.js
package includes a precompiled and minified
UMD build in the
dist/
folder.
It can be used directly without a bundler and is thus compatible with
many popular JavaScript module loaders and environments. You can drop
a UMD build as a <script>
tag on your page. The UMD
builds make rouge.js
available as a window.Rouge
global variable.
Direct minified UMD url:
- jsDelivr: https://cdn.jsdelivr.net/npm/rouge.js
- or unpkg: https://unpkg.com/rouge.js/dist/rouge.umd.min.js
Using web3.js, creating a campaign can be as simple as these few lines:
import Web3 from 'web3'
import { RougeProtocol } from 'rouge.js'
const web3 = new Web3(<provider>)
const myAccount = web3.eth.accounts.privateKeyToAccount(<privateKey>)
const rouge = RougeProtocol(web3)
const campaign = rouge.as(myAccount).createCampaign()
See files in the examples
folder.
npm run example-node
Open the file examples/browser.html
with your preferred browser.
We are open to contributions, see CONTRIBUTING.md for more info.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.