github.com/igggame/nebulas-go@v2.1.0+incompatible/nebtestkit/local-nodes.js (about)

     1  'use strict';
     2  
     3  var Neblet = require('./neblet');
     4  
     5  var local = "127.0.0.1";
     6  var test_net = "https://testnet.nebulas.io"
     7  var port = 10000;
     8  var http_port = 8090;
     9  var rpc_port = 9090;
    10  var miners = [
    11      "1a263547d167c74cf4b8f9166cfa244de0481c514a45aa2c",
    12      "2fe3f9f51f9a05dd5f7c5329127f7c917917149b4e16b0b8",
    13      "333cb3ed8c417971845382ede3cf67a0a96270c05fe2f700",
    14      "48f981ed38910f1232c1bab124f650c482a57271632db9e3",
    15      "59fc526072b09af8a8ca9732dae17132c4e9127e43cf2232",
    16      "75e4e5a71d647298b88928d8cb5da43d90ab1a6c52d0905f",
    17      "7da9dabedb4c6e121146fb4250a9883d6180570e63d6b080",
    18      "98a3eed687640b75ec55bf5c9e284371bdcaeab943524d51",
    19      "a8f1f53952c535c6600c77cf92b65e0c9b64496a8a328569",
    20      "b040353ec0f2c113d5639444f7253681aecda1f8b91f179f",
    21      "b414432e15f21237013017fa6ee90fc99433dec82c1c8370",
    22      "b49f30d0e5c9c88cade54cd1adecf6bc2c7e0e5af646d903",
    23      "b7d83b44a3719720ec54cdb9f54c0202de68f1ebcb927b4f",
    24      "ba56cc452e450551b7b9cffe25084a069e8c1e94412aad22",
    25      "c5bcfcb3fa8250be4f2bf2b1e70e1da500c668377ba8cd4a",
    26      "c79d9667c71bb09d6ca7c3ed12bfe5e7be24e2ffe13a833d",
    27      "d1abde197e97398864ba74511f02832726edad596775420a",
    28      "d86f99d97a394fa7a623fdf84fdc7446b99c3cb335fca4bf",
    29      "e0f78b011e639ce6d8b76f97712118f3fe4a12dd954eba49",
    30      "f38db3b6c801dddd624d6ddc2088aa64b5a24936619e4848",
    31      "fc751b484bd5296f8d267a8537d33f25a848f7f7af8cfcf6"
    32  ]
    33  
    34  var Node = function (count) {
    35      if (count > miners.length) {
    36          throw "out of nodes count";
    37      }
    38  
    39      this.count = count;
    40  };
    41  
    42  Node.prototype = {
    43      Start: function () {
    44          var nodes = new Array();
    45          for (var i = 0; i < this.count; i++) {
    46              var server = new Neblet(
    47                  local, port + i, http_port + i, rpc_port + i,
    48                  miners[i], miners[i], 'passphrase'
    49              );
    50              if (i == 0) {
    51                  server.Init()
    52              } else {
    53                  server.Init(nodes[0])
    54              }
    55              server.Start();
    56              nodes.push(server);
    57              // console.log(server);
    58          }
    59          this.nodes = nodes;
    60      },
    61      NewNode: function (index) {
    62          var i = index;
    63          var server = new Neblet(
    64              local, port + i, http_port + i, rpc_port + i,
    65              miners[i], miners[i], 'passphrase'
    66          );
    67          if (i == 0) {
    68              server.Init()
    69          } else {
    70              server.Init(this.nodes[0])
    71          }
    72          server.Start();
    73          this.nodes.push(server);
    74      },
    75      Nodes: function () {
    76          return this.nodes;
    77      },
    78      Node: function (index) {
    79          return this.nodes[index];
    80      },
    81      RPC: function (index) {
    82          return this.nodes[index].RPC();
    83      },
    84      Coinbase: function (index) {
    85          return this.nodes[index].Coinbase();
    86      },
    87      Passphrase: function (index) {
    88          return this.nodes[index].Passphrase();
    89      },
    90      Stop: function () {
    91          for (var i = 0; i < this.nodes.length; i++) {
    92              this.nodes[i].Kill();
    93          }
    94      },
    95  };
    96  
    97  module.exports = Node;