Go to file
2018-01-09 01:30:59 +01:00
res Created IOTA Java wrapper for js lib 2018-01-05 01:03:49 +01:00
src/main/java Finished porting test run except for close (signatures count does not add up yet) 2018-01-09 01:30:59 +01:00
.gitignore Created IOTA Java wrapper for js lib 2018-01-05 01:03:49 +01:00
iotaflashlibjswrapper.iml started to implement a test flash channel transaction 2018-01-06 20:07:55 +01:00
LICENSE.md Created IOTA Java wrapper for js lib 2018-01-05 01:03:49 +01:00
pom.xml started to implement a test flash channel transaction 2018-01-06 20:07:55 +01:00
README.md Finished porting test run except for close (signatures count does not add up yet) 2018-01-09 01:30:59 +01:00

IOTA Flash Channel Java Wrapper

This wrapper allows the usage of iota.flash.js lib directly in Java. This is achieved by running the iota.flash.js script and all dependencies (modified build of iota.flash.js) in the V8 engine (using J2V8 bindings for V8). If you have any ideas please submit a request (I am totally not a Java guy so...)

iota.flash.js coverage

Multisig

  • composeAddress
  • updateLeafToRoot (needs testing)
  • getDigest

Model.Transfer

  • prepare (needs testing)
  • compose (needs testing)
  • close (needs testing)
  • applyTransfers
  • appliedSignatures
  • getDiff
  • sign

Installation

  1. Clone repo
  2. Update maven ressources
  3. That's it.

Updating iota.flash.js

I will try to update the iota.flash.js as often as I can till it is automated. To manually update the lib do the following:

  1. clone js lib from the repo git clone git@github.com:iotaledger/iota.flash.js.git
  2. inside the cloned project open the gulpfile.js and change dist task to this
    gulp.task('dist', () => {
      return gulp.src('lib/flash.js')
        .pipe(webpack({
          output: {
            filename: 'iota.flash.js',
            libraryTarget: 'umd',
            library: 'iotaFlash',
            umdNamedDefine: true
          }
        }))
        .pipe(gulp.dest(DEST))
    });
    
    By doing this we get a umd package which we can access from the global js context under the name `iotaFlash
  3. Copy the file from dist/iota.flash.js of the js lib folder to this project under res/iota.flash.js
  4. Add "use strict";to the start of the file you just coppied (If you don't the V8 will complain).
  5. That was it...

TODO

  • write documentation
  • add some testing
  • add a way to update iota.flash.js from the repo without manual steps
  • cleanup maven
  • makte this project a easy to import lib