diff --git a/scripts/gen_genesis.ml b/scripts/gen_genesis.ml index c352c869f..ab7abd1d5 100644 --- a/scripts/gen_genesis.ml +++ b/scripts/gen_genesis.ml @@ -1,14 +1,55 @@ #use "topfind";; +#thread;; +#require "threads";; #require "stringext";; #require "lwt";; +#require "lwt.unix";; #require "zarith";; #require "nocrypto";; -#mod_use "../src/minutils/utils.ml";; -#mod_use "../src/utils/base58.ml";; -let prefix = "BLockGenesisGenesisGenesisGenesisGenesis" -let suffix = "FFFFF" -let p = Base58.raw_decode (prefix ^ suffix ^ "crcCRC") -let p = String.sub p 0 (String.length p - 4) -let p = Base58.safe_encode p -let () = print_endline p +#require "calendar";; +#mod_use "../src/lib_stdlib/tzString.ml";; +#mod_use "../src/lib_stdlib/option.ml";; +#mod_use "../src/lib_stdlib/tzList.ml";; +#mod_use "../src/lib_stdlib/utils.ml";; +#mod_use "../src/lib_crypto/base58.ml";; +let date = + Lwt_main.run (Lwt_process.pread_line (Lwt_process.shell "date +%FT%TZ --utc")) + +let int_date = + Lwt_main.run (Lwt_process.pread_line (Lwt_process.shell "date +%y%m%d ")) + +let prefix = "BLockGenesisGenesisGenesisGenesisGenesis" +let suffix = String.sub Digest.(to_hex (string date)) 0 5 +let p = + match Base58.raw_decode (prefix ^ suffix ^ "crcCRC") with + | None -> assert false + | Some s -> s +let p = String.sub p 0 (String.length p - 4) +let genesis = Base58.safe_encode p + +let () = + Lwt_main.run (Lwt_io.lines_to_file "alphanet_version" + (Lwt_stream.of_list [date])) + +let sed = + Format.sprintf + "sed -i \ + -e 's/Time.of_notation_exn \"[^\\\"]*\"/Time.of_notation_exn \"%s\"/' \ + -e 's/BLockGenesisGenesisGenesisGenesisGenesis.........../%s/' \ + ../src/bin_node/node_run_command.ml" + date + genesis + +let _ = + Lwt_main.run (Lwt_process.exec (Lwt_process.shell sed)) + +let sed = + Format.sprintf + "sed -i \ + -e 's/minor = [0-9]* ;/minor = %s ;/' \ + ../src/lib_shell/distributed_db_message.ml" + int_date + +let _ = + Lwt_main.run (Lwt_process.exec (Lwt_process.shell sed)) diff --git a/scripts/reset_chain.sh b/scripts/reset_chain.sh new file mode 100755 index 000000000..238279abd --- /dev/null +++ b/scripts/reset_chain.sh @@ -0,0 +1,23 @@ +#! /bin/sh + +script_dir="$(cd "$(dirname "$0")" && echo "$(pwd -P)/")" +cd "$script_dir"/.. + +branch=$1 +has_git() { + which git && [ -d .git ] +} + +if has_git && ! [ -z "$(git status -s)" ] ; then + echo "This script cannot be applied within a dirty git directory," + echo "you need 'stash' or 'commit' your changes before." + exit 1 +fi + +set -e + +cd scripts + +utop gen_genesis.ml + +git commit -a -m "Reset the chain"