Skip to content

Commit

Permalink
Initial commit.
Browse files Browse the repository at this point in the history
  • Loading branch information
karmacoma committed Feb 1, 2016
0 parents commit a9d647e
Show file tree
Hide file tree
Showing 71 changed files with 28,321 additions and 0 deletions.
17 changes: 17 additions & 0 deletions .gitignore
@@ -0,0 +1,17 @@
blockchain.*
dapps/
.DS_Store
.ed25519-node
.idea/
logs.log
logs.old.log
__MACOSX/
nodejs/
node_modules
npm-debug.log
.project
release
sqlite/
ssl/
stacktrace*
tmp
6 changes: 6 additions & 0 deletions .gitmodules
@@ -0,0 +1,6 @@
[submodule "public"]
path = public
url = git@github.com:LiskHQ/lisk-ui.git
[submodule "test/lisk-js"]
path = test/lisk-js
url = git@github.com:LiskHQ/lisk-js.git
109 changes: 109 additions & 0 deletions Gruntfile.js
@@ -0,0 +1,109 @@
var moment = require('moment'),
util = require( "util" );

module.exports = function (grunt) {
var os = grunt.option('os');
var sqliteFile = 'sqlite3';

if (os == 'win') {
sqliteFile += '.exe';
}

var files = [
'logger.js',
'helpers/**/*.js',
'modules/*.js',
'logic/*.js',
'app.js'
];

var today = moment().format('HH:mm:ss DD/MM/YYYY');

var config = require('./config.json');

var release_dir = __dirname + '/release/',
version_dir = release_dir + config.version;

grunt.initConfig({
obfuscator: {
files: files,
entry: 'app.js',
out: 'release/app.js',
strings: true,
root: __dirname
},

exec: {
package: {
command: function () {
return util.format('mkdir -p %s && ', version_dir)
+ util.format('mkdir -p %s/public && ', version_dir)
+ util.format('cp %s/app.js %s && ', release_dir, version_dir)
+ util.format('cp %s/config.json %s && ', __dirname, version_dir)
+ util.format('cp %s/package.json %s && ', __dirname, version_dir)
+ util.format('cp %s/genesisBlock.json %s && ', __dirname, version_dir)
+ util.format('cd %s/public && mkdir -p ./static && ', __dirname)
+ 'npm install && bower install && grunt release && cd ../ && '
+ util.format('cp %s/public/wallet.html %s/public/ && ', __dirname, version_dir)
+ util.format('cp %s/public/loading.html %s/public/ && ', __dirname, version_dir)
+ util.format('cp -rf %s/public/images %s/public/ && ', __dirname, version_dir)
+ util.format('cp -rf %s/public/font %s/public/ && ', __dirname, version_dir)
+ util.format('cp -rf %s/public/partials %s/public/ && ', __dirname, version_dir)
+ util.format('cp -rf %s/public/static %s/public/ && ', __dirname, version_dir)
+ util.format('mkdir -p %s/public/node_modules && ', version_dir)
+ util.format('cp -rf %s/public/node_modules/chart.js %s/public/node_modules && ', __dirname, version_dir)
+ util.format('cp -rf %s/public/node_modules/zeroclipboard %s/public/node_modules && ', __dirname, version_dir)
+ util.format('mkdir -p %s/public/bower_components && ', version_dir)
+ util.format('mkdir -p %s/public/socket.io && ', version_dir)
+ util.format('cp -rf %s/public/bower_components/jquery %s/public/bower_components && ', __dirname, version_dir)
+ util.format('cp -rf %s/public/bower_components/materialize %s/public/bower_components && ', __dirname, version_dir)
+ util.format('cp -rf %s/public/bower_components/blob %s/public/bower_components && ', __dirname, version_dir)
+ util.format('cp -rf %s/public/bower_components/file-saver %s/public/bower_components', __dirname, version_dir);
}
},
folder: {
command: 'mkdir -p ' + release_dir
},
build: {
command: 'cd ' + version_dir + '/ && touch build && echo "v' + today + '" > build'
}
},

compress: {
main: {
options: {
archive: version_dir + '.zip'
},
files: [
{ expand: true, cwd: release_dir, src: [config.version + '/**'], dest: './' }
]
}
},

jsdox: {
generate: {
src: [
'helpers/*.js'
// './modules/*.js'
],
dest: 'tmp/docs',
options: {
templateDir: 'var/jsdox'
}
}
},

jshint: {
all: ['app.js', 'helpers/**/*.js', 'modules/**/*.js', 'logic/**/*.js']
}
});

grunt.loadNpmTasks('grunt-obfuscator');
grunt.loadNpmTasks('grunt-jsdox');
grunt.loadNpmTasks('grunt-exec');
grunt.loadNpmTasks('grunt-contrib-compress');
grunt.loadNpmTasks('grunt-contrib-jshint');

grunt.registerTask('default', ['release']);
grunt.registerTask('release', ['exec:folder', 'obfuscator', 'exec:package', 'exec:build', 'compress']);
};
119 changes: 119 additions & 0 deletions README.md
@@ -0,0 +1,119 @@
# Lisk

Lisk is a next generation crypto-currency and decentralized application platform, written entirely in JavaScript. For more information please refer to our website: https://lisk.io/.

## Installation

**NOTE:** The following is applicable to: **Ubuntu 14.04 (LTS) - x86_64**.

Install essentials:

```
sudo apt-get update
sudo apt-get install curl build-essential python
```

Install SQLite3 (version 3.8.2):

```
curl -sL http://downloads.lisk.io/scripts/setup_sqlite3 | sudo -E bash -
sudo apt-get install -y sqlite3
```

Install Node.js (version 0.12.x) + npm:

```
curl -sL https://deb.nodesource.com/setup_0.12 | sudo -E bash -
sudo apt-get install -y nodejs
```

Install grunt-cli (globally):

```
sudo npm install grunt-cli -g
```

Install bower (globally):

```
sudo npm install bower -g
```

Install node modules:

```
npm install
```

Load git submodules ([lisk-ui](https://github.com/LiskHQ/lisk-ui) and [lisk-js](https://github.com/LiskHQ/lisk-js)):

```
git submodule init
git submodule update
```

Build the user-interface:

```
cd public
npm install
bower install
grunt
```

## Launch

To launch Lisk:

```
node app.js
```

**NOTE:** The **port**, **address** and **config-path** can be overridden by providing the relevant command switch:

```
node app.js -p [port] -a [address] -c [config-path]
```

## Tests

Before running any tests, please ensure Lisk is configured to run on a local testnet (this is the default), and not the mainnet.

Install mocha (globally):

```
sudo npm install mocha -g
```

Run the test suite:

```
npm test
```

Run individual tests:

```
mocha test/lib/accounts.js
mocha test/lib/transactions.js
```

## Authors

- Boris Povod <boris@crypti.me>
- Pavel Nekrasov <landgraf.paul@gmail.com>
- Sebastian Stupurac <stupurac.sebastian@gmail.com>
- Olivier Beddows <olivier@lisk.io>

## License

The MIT License (MIT)

Copyright (c) 2016 Lisk
Copyright (c) 2014-2015 Crypti

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

0 comments on commit a9d647e

Please sign in to comment.