Skip to content

Embark 1.0.2

Choose a tag to compare

@iurimatias iurimatias released this 13 Oct 16:57
· 5959 commits to master since this release

New to Embark?


If you are new to Embark, see the Readme.

To Update to 1.0.0


npm update -g embark-framework

If updating an existing project, change the version in package.json as well and 'grunt-embark' to '0.5.1', followed by npm install.
run embark demo to see the differences.

In this release


New Testing Framework

Embark now uses EtherSim for its testing. It's still in early stages and there are a lot of limitations, but expect steady good improvements over the next releases.

# test/simple_storage_spec.js
var assert = require('assert');
var Embark = require('embark-framework');
var EmbarkSpec = Embark.initTests();

describe("SimpleStorage", function(done) {
  before(function(done) {
    EmbarkSpec.deployAll(done);
  });

  it("should set constructor value", function(done) {
    SimpleStorage.storedData(function(err, result) {
      assert.equal(result.toNumber(), 100);
      done();
    });
  });

  it("set storage value", function(done) {
    SimpleStorage.set(150, function() {
      SimpleStorage.get(function(err, result) {
        assert.equal(result.toNumber(), 150);
        done();
      });
    });
  });

})

notes:

  • the test folder is now test/ instead of spec/
  • by default embark now uses mochajs instead of jasmine. however, just like before, you can use any testing framework you wish.
  • you can run the specs with embark spec or mocha test/ --no-timeouts

Simulator

It's now also possible to run:

embark simulator

As an alternative to embark blockchain for development purposes.
Have in mind that, this is still in early stages so some bugs are expected. At the moment it's great for quickly developing and testing out simple contracts though.

Bundled Solidity compiler

Thanks to @d11e9 solc package Embark now compiles solidity contracts internally without need for external dependencies.

Less Dependencies

Embark no longer requires cpp-ethereum, python and EtherTDD.py. This makes the installation process much much faster and easier.

Misc Improvements

  • support boostraping enodes in chain config
  • chain files can be defined per environment/chain
  • display grunt stacktrace

Thanks

Special thanks to FredericHeem, Aakil Fernandes, Gerbrand van Dieijen, VoR220, Harlan T Wood, Joris Bontje, Ryan Casey and Martin Becze for contributions to this release.