UNPKG

stromdao-businessobject

Version:

Abstract BusinessObject for StromDAO Energy Blockchain. Abstraction layer between blockchain technology and business logic providing energy market related entities and use cases.

59 lines (50 loc) 1.79 kB
/** StromDAO Business Object - Sign and Verify using Private Key and Ethereum Address */ var assert = require('assert'); var StromDAONode = require("../StromDAONode.js"); describe('StromDAO: Prosumer Info', function() { this.timeout(300000); var external_id = Math.random()*10000000; var node_in = new StromDAONode.Node({external_id:external_id,testMode:true}); var node_out = new StromDAONode.Node({external_id:external_id+1,testMode:true}); var known_rolelookup = '0x0000000000000000000000000000000000000006'; var message = "Hallo Lange Welt"; var signed_message = ""; var my_stromkonto = ""; describe('Sign Message', function() { it('Sign Message', function(done) { signed_message=node_in.sign(message); done(); }); it('Verify different Message has different Signature', function(done) { signed_message_2=node_in.sign(message+"_123"); assert.notEqual(signed_message_2,signed_message); done(); }); it('Verify Message', function(done) { verify_from=node_in.verify(signed_message); assert.equal(verify_from,node_in.wallet.address); done(); }); it('Verify Different Account', function(done) { verify_from=node_out.verify(signed_message); assert.equal(verify_from,node_in.wallet.address); done(); }); it('Sign Message', function(done) { signed_message=node_out.sign(message); done(); }); it('Verify Message', function(done) { verify_from=node_in.verify(signed_message); assert.equal(verify_from,node_out.wallet.address); done(); }); it('Verify Different Account', function(done) { verify_from=node_out.verify(signed_message); assert.equal(verify_from,node_out.wallet.address); done(); }); }); });