@@ -23,20 +23,21 @@ function getPaths(client, workdir) {
23
23
} ;
24
24
}
25
25
26
- function generateGenesis ( client , balances ) {
26
+ function generateGenesis ( client , balances , networkId ) {
27
27
const genesis = JSON . parse (
28
28
JSON . stringify ( require ( `./genesis.${ client } .json` ) )
29
29
) ;
30
+ networkId = networkId || randomId ( ) ;
30
31
if ( client === "geth" ) {
31
- genesis . chainId = randomId ( ) ;
32
+ genesis . config . chainId = parseInt ( networkId , 10 ) ;
32
33
genesis . extraData =
33
34
"0x" +
34
35
"0" . repeat ( 64 ) +
35
36
Object . keys ( balances ) [ 0 ] . substr ( 2 ) +
36
37
"0" . repeat ( 130 ) ;
37
38
genesis . alloc = { ...genesis . alloc , ...balances } ;
38
39
} else if ( client === "parity" ) {
39
- genesis . params . networkID = randomId ( ) ;
40
+ genesis . params . networkID = networkId ;
40
41
genesis . accounts = { ...genesis . accounts , ...balances } ;
41
42
}
42
43
return genesis ;
@@ -67,10 +68,10 @@ function setup(client, workdir) {
67
68
}
68
69
}
69
70
70
- function provide ( client , workdir ) {
71
+ function provide ( client , workdir , networkId ) {
71
72
const paths = getPaths ( client , workdir ) ;
72
73
const keypairs = getKeypairs ( KEYS_SOURCE , "password" ) ;
73
- const genesis = generateGenesis ( client , generateBalances ( keypairs ) ) ;
74
+ const genesis = generateGenesis ( client , generateBalances ( keypairs ) , networkId ) ;
74
75
let keysDest =
75
76
client === "geth" ? paths . keys : path . join ( paths . keys , genesis . name ) ;
76
77
@@ -100,11 +101,11 @@ function provide(client, workdir) {
100
101
}
101
102
}
102
103
103
- function run ( client , workdir ) {
104
+ function run ( client , workdir , networkId ) {
104
105
const paths = getPaths ( client , workdir ) ;
105
106
setup ( client , workdir ) ;
106
107
if ( ! fs . existsSync ( paths . genesis ) ) {
107
- provide ( client , workdir ) ;
108
+ provide ( client , workdir , networkId ) ;
108
109
}
109
110
110
111
const genesis = JSON . parse ( fs . readFileSync ( paths . genesis ) ) ;
0 commit comments