the smart contract integrated development framework
Branch: master
Clone or download
liuff1988 1.update robin build.
2.update robin init (add template select)
Latest commit 3169e7b Feb 13, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
bin 1.update robin build. Feb 13, 2019
lib add robin ui Jan 18, 2019
.gitignore add .gitignore Jul 30, 2018
README.md add robin-ui subcommand for dapp Feb 11, 2019
config.json add robin ui Jan 18, 2019
package.json update version to 0.0.9 Jan 18, 2019

README.md

OVERVIEW

A world class development environment, testing framework and asset pipeline for blockchains using the ULTRAIN Chain, aiming to make life as a developer easier. With Robin, you get:

  • One-click contract compilation and development.
  • Automated contract testing for rapid development.
  • Friendly code Review and automated error fixing.
  • Lots of contract templates for reference.
  • Scriptable, extensible deployment & migrations framework.
  • Network management for deploying to any number of public & private networks.
  • Interactive console for direct contract communication.

INSTALLATION

sudo npm install -g robin-framework

Requirements

NodeJS 8.0+.

Linux、MacOSX、Windows

CREATING A PROJECT

To view all Robin commands, you need to run robin or robin -h.

To start a contract, you need create a new empty directory first, and then entry the directory:

mkdir testing
cd testing

And then initialize a smart contract project.

robin init

Project structure:

```
|--build        // built WebAssembly targets
|--contract     // contract source files
|--migrations   // assign built files location and account who will deploy the contract
|--templates    // some contract templates that will guide you
|--test         // test files 
|--config.js    // configuration
...
```

LINT CONTRACTS

With the help of robin-lint, a customized tslint project, you will be find errors and warnings and then fix them quickly. Just entry into the root directory of your contract project and execute:

robin lint

COMPILE CONTRACTS

Depend on the compiling tool ultrascript,smart contract will be compiled to WebAsssembly target files: *.abi, *.wast, *.wasm. Just entry into the root directory of your contract project and execute:

robin build

DEPLOY CONTRACTS

Updating and configuring the config.js and migrate.js files, make sure you have make a successful connection with the ULTRAIN chain node. The nodultrain can be a integrated envirnment if you use longclaw in docker or maybe an customized node by yourself. Just entry into the root directory of your contract project and execute:

robin deploy

TEST CONTRACTS

Referring to *.spec.js files in the test directory, write your own test file and try to cover all the case about the contract. Robin provides you lots of tool classes such as mocha, chai, u3.js and u3-utils for writing test case, especially handling async test.

Just entry into the root directory of your contract project and execute:

robin test

DAPP WITH UI

If you want to easily convert a contract project into a dapp project, you only need to use the ui subcommand, and you have three main front-end templates to choose from vue-boilerplatereact-boilerplate and react-native-boilerplate.

Just entry into the root directory of your contract project and execute:

robin ui