Git Product home page Git Product logo

explorer's Introduction

EthExplorer (In Progress)

EthExplorer Screenshot

##License

GPL (see LICENSE)

##Installation

Install Git if you haven't already

Clone the repo

git clone https://github.com/etherparty/explorer

Download Nodejs and npm if you don't have them

Start the program. All dependencies will be automatically downloaded

npm start

Then visit http://localhost:8000 in your browser of choice. You might get an error message:

geth --rpc --rpccorsdomain "http://localhost:8000"

Install geth if you don't already have it, then run the above command.

Then refresh the page in your browser

explorer's People

Contributors

aakilfernandes avatar firescar96 avatar lisacheng avatar makevoid avatar michaeldowling avatar pavelpolyakov avatar vikas1188 avatar whitj00 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

explorer's Issues

crashed when open the page

Please refer to the following detailed call stacks. Any suggestions?

Starting up http-server, serving ./app on port: 8000
Hit CTRL-C to stop the server
[Wed, 28 Mar 2018 04:02:30 GMT] "GET /" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:59.0) Gecko/20100101 Firefox/59.0"
_http_outgoing.js:348
throw new TypeError('The header content contains invalid characters');
^

TypeError: The header content contains invalid characters
at ServerResponse.OutgoingMessage.setHeader (_http_outgoing.js:348:11)
at ResponseStream.(anonymous function) [as setHeader] (C:\Code\bc\explorer\node_modules\union\lib\response-stream.js:86:34)
at serve (C:\Code\bc\explorer\node_modules\ecstatic\lib\ecstatic.js:146:11)
at C:\Code\bc\explorer\node_modules\ecstatic\lib\ecstatic.js:139:9
at FSReqWrap.oncomplete (fs.js:117:15)

npm ERR! Windows_NT 10.0.16299
npm ERR! argv "C:\Program Files\nodejs\node.exe" "C:\Users\Xiaolu\AppData\Roaming\npm\node_modules\npm\bin\npm-cli.js" "start"
npm ERR! node v6.2.1
npm ERR! npm v4.0.5
npm ERR! code ELIFECYCLE
npm ERR! [email protected] start: http-server ./app -a localhost -p 8000 -c-1
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] start script 'http-server ./app -a localhost -p 8000 -c-1'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the EthereumExplorer package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! http-server ./app -a localhost -p 8000 -c-1
npm ERR! You can get information on how to open an issue for this project with:
npm ERR! npm bugs EthereumExplorer
npm ERR! Or if that isn't available, you can get their info via:
npm ERR! npm owner ls EthereumExplorer
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR! C:\Code\bc\explorer\npm-debug.log

Run Public Site Without Exposing 8545

What would need to be changed in the settings or the code to make the app handle its RPC calls internally and now expost them to the WebUI?

I want to run this as a public blockchain explorer but don't want to expose my RPC port publicly. (I assume that rpccors is supposed to protect it but that seems like a small barrier).

What version of nodejs and npm should you be using for this to operate/work/function?

I'm currently running the new version of geth w/ POA instead of PoW. I've tried installing the new nodejsv10.7 and also tried running it with v8.1.3... both of them didn't work. The 8.1.3 compiled and ran but the block explorer remained empty and wouldn't display blocks nor balances in wallets. I'm wondering whats the proper version to get this working.

Errors while installing. geth -rpc -rpccorsdomain "http://localhost:8000"

Found some troubles with installation. After following instructions up to "npm start" got errors in console and message geth -rpc -rpccorsdomain "http://localhost:8000" in browser.

To solve this issue you need to install g++ (sudo apt install g++), then run npm audit fix --force.

Now npm start will start correctly.

LinuxMint 4.15.0-74-generic, node v13.5.0, npm 6.13.4

npm start
user@vm:~/Documents/explorer$ npm start

> [email protected] prestart /home/user/Documents/explorer
> npm install


> [email protected] install /home/user/Documents/explorer/node_modules/bufferutil
> node-gyp rebuild

make: Entering directory '/home/user/Documents/explorer/node_modules/bufferutil/build'
CXX(target) Release/obj.target/bufferutil/src/bufferutil.o
make: g++: Command not found
bufferutil.target.mk:110: recipe for target 'Release/obj.target/bufferutil/src/bufferutil.o' failed
make: *** [Release/obj.target/bufferutil/src/bufferutil.o] Error 127
make: Leaving directory '/home/user/Documents/explorer/node_modules/bufferutil/build'
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:194:23)
gyp ERR! stack     at ChildProcess.emit (events.js:305:20)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:275:12)
gyp ERR! System Linux 4.15.0-74-generic
gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /home/user/Documents/explorer/node_modules/bufferutil
gyp ERR! node -v v13.5.0
gyp ERR! node-gyp -v v5.0.5
gyp ERR! not ok

> [email protected] install /home/user/Documents/explorer/node_modules/utf-8-validate
> node-gyp rebuild

make: Entering directory '/home/user/Documents/explorer/node_modules/utf-8-validate/build'
CXX(target) Release/obj.target/validation/src/validation.o
make: g++: Command not found
validation.target.mk:110: recipe for target 'Release/obj.target/validation/src/validation.o' failed
make: *** [Release/obj.target/validation/src/validation.o] Error 127
make: Leaving directory '/home/user/Documents/explorer/node_modules/utf-8-validate/build'
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:194:23)
gyp ERR! stack     at ChildProcess.emit (events.js:305:20)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:275:12)
gyp ERR! System Linux 4.15.0-74-generic
gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /home/user/Documents/explorer/node_modules/utf-8-validate
gyp ERR! node -v v13.5.0
gyp ERR! node-gyp -v v5.0.5
gyp ERR! not ok
npm WARN lifecycle [email protected]~postinstall: cannot run in wd [email protected] bower install (wd=/home/user/Documents/explorer)
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/bufferutil):
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] install: `node-gyp rebuild`
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Exit status 1
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/utf-8-validate):
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] install: `node-gyp rebuild`
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Exit status 1

audited 1667 packages in 16.148s

24 packages are looking for funding
run `npm fund` for details

found 55 vulnerabilities (16 low, 11 moderate, 28 high)
run `npm audit fix` to fix them, or `npm audit` for details

> [email protected] start /home/user/Documents/explorer
> http-server ./app -a localhost -p 8000 -c-1

Starting up http-server, serving ./app on port: 8000
Hit CTRL-C to stop the server
^Chttp-server stopped.
sudo apt install g++
user@vm:~/Documents/explorer$ sudo apt install g++
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
gyp libc-ares2 libhttp-parser2.7.1 libjs-async libjs-inherits
libjs-node-uuid libjs-underscore libssl1.0-dev libuv1 libuv1-dev
linux-headers-4.15.0-20 linux-headers-4.15.0-20-generic
linux-image-4.15.0-20-generic linux-modules-4.15.0-20-generic
linux-modules-extra-4.15.0-20-generic node-abbrev node-ansi
node-ansi-color-table node-archy node-async node-balanced-match
node-block-stream node-brace-expansion node-builtin-modules
node-combined-stream node-concat-map node-cookie-jar node-delayed-stream
node-forever-agent node-form-data node-fs.realpath node-fstream
node-fstream-ignore node-github-url-from-git node-glob node-graceful-fs
node-gyp node-hosted-git-info node-inflight node-inherits node-ini
node-is-builtin-module node-isexe node-json-stringify-safe node-lockfile
node-lru-cache node-mime node-minimatch node-mkdirp node-mute-stream
node-node-uuid node-nopt node-normalize-package-data node-npmlog node-once
node-osenv node-path-is-absolute node-pseudomap node-qs node-read
node-read-package-json node-request node-retry node-rimraf node-semver
node-sha node-slide node-spdx-correct node-spdx-expression-parse
node-spdx-license-ids node-tar node-tunnel-agent node-underscore
node-validate-npm-package-license node-which node-wrappy node-yallist
python-pkg-resources
Use 'sudo apt autoremove' to remove them.
The following additional packages will be installed:
g++-7 libc-dev-bin libc6-dev libstdc++-7-dev
Suggested packages:
g++-multilib g++-7-multilib gcc-7-doc libstdc++6-7-dbg glibc-doc
libstdc++-7-doc
The following NEW packages will be installed:
g++ g++-7 libc-dev-bin libc6-dev libstdc++-7-dev
0 upgraded, 5 newly installed, 0 to remove and 5 not upgraded.
Need to get 11.7 MB of archives.
After this operation, 60.4 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://archive.ubuntu.com/ubuntu bionic/main amd64 libc-dev-bin amd64 2.27-3ubuntu1 [71.8 kB]
Get:2 http://archive.ubuntu.com/ubuntu bionic/main amd64 libc6-dev amd64 2.27-3ubuntu1 [2,587 kB]
Get:3 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 libstdc++-7-dev amd64 7.4.0-1ubuntu1~18.04.1 [1,468 kB]
Get:4 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 g++-7 amd64 7.4.0-1ubuntu1~18.04.1 [7,574 kB]
Get:5 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 g++ amd64 4:7.4.0-1ubuntu2.3 [1,568 B]
Fetched 11.7 MB in 48s (242 kB/s)                                              
Selecting previously unselected package libc-dev-bin.
(Reading database ... 316188 files and directories currently installed.)
Preparing to unpack .../libc-dev-bin_2.27-3ubuntu1_amd64.deb ...
Unpacking libc-dev-bin (2.27-3ubuntu1) ...
Selecting previously unselected package libc6-dev:amd64.
Preparing to unpack .../libc6-dev_2.27-3ubuntu1_amd64.deb ...
Unpacking libc6-dev:amd64 (2.27-3ubuntu1) ...
Selecting previously unselected package libstdc++-7-dev:amd64.
Preparing to unpack .../libstdc++-7-dev_7.4.0-1ubuntu1~18.04.1_amd64.deb ...
Unpacking libstdc++-7-dev:amd64 (7.4.0-1ubuntu1~18.04.1) ...
Selecting previously unselected package g++-7.
Preparing to unpack .../g++-7_7.4.0-1ubuntu1~18.04.1_amd64.deb ...
Unpacking g++-7 (7.4.0-1ubuntu1~18.04.1) ...
Selecting previously unselected package g++.
Preparing to unpack .../g++_4%3a7.4.0-1ubuntu2.3_amd64.deb ...
Unpacking g++ (4:7.4.0-1ubuntu2.3) ...
Setting up libc-dev-bin (2.27-3ubuntu1) ...
Setting up libc6-dev:amd64 (2.27-3ubuntu1) ...
Setting up libstdc++-7-dev:amd64 (7.4.0-1ubuntu1~18.04.1) ...
Setting up g++-7 (7.4.0-1ubuntu1~18.04.1) ...
Setting up g++ (4:7.4.0-1ubuntu2.3) ...
update-alternatives: using /usr/bin/g++ to provide /usr/bin/c++ (c++) in auto mode
Processing triggers for man-db (2.8.3-2ubuntu0.1) ...
npm start
user@vm:~/Documents/explorer$ npm start

> [email protected] prestart /home/user/Documents/explorer
> npm install


> [email protected] install /home/user/Documents/explorer/node_modules/bufferutil
> node-gyp rebuild

make: Entering directory '/home/user/Documents/explorer/node_modules/bufferutil/build'
CXX(target) Release/obj.target/bufferutil/src/bufferutil.o
../src/bufferutil.cc:25:30: error: ‘v8::Handle’ has not been declared
 static void Initialize(v8::Handle<v8::Object> target)
                            ^~~~~~
../src/bufferutil.cc:25:36: error: expected ‘,’ or ‘...’ before ‘<’ token
 static void Initialize(v8::Handle<v8::Object> target)
                                  ^
../src/bufferutil.cc: In static member function ‘static void BufferUtil::Initialize(int)’:
../src/bufferutil.cc:33:14: error: ‘target’ was not declared in this scope
   Nan::Set(target, Nan::New<String>("BufferUtil").ToLocalChecked(), t->GetFunction());
            ^~~~~~
../src/bufferutil.cc:33:14: note: suggested alternative: ‘Merge’
   Nan::Set(target, Nan::New<String>("BufferUtil").ToLocalChecked(), t->GetFunction());
            ^~~~~~
            Merge
../src/bufferutil.cc:33:86: error: no matching function for call to ‘v8::FunctionTemplate::GetFunction()’
Set(target, Nan::New<String>("BufferUtil").ToLocalChecked(), t->GetFunction());
                                                                           ^
In file included from ../src/bufferutil.cc:7:0:
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:6283:46: note: candidate: v8::MaybeLocal<v8::Function> v8::FunctionTemplate::GetFunction(v8::Local<v8::Context>)
 V8_WARN_UNUSED_RESULT MaybeLocal<Function> GetFunction(
                                            ^~~~~~~~~~~
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:6283:46: note:   candidate expects 1 argument, 0 provided
../src/bufferutil.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE BufferUtil::Merge(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/bufferutil.cc:49:49: error: no matching function for call to ‘v8::Value::ToObject()’
   Local<Object> bufferObj = info[0]->ToObject();
                                               ^
In file included from ../src/bufferutil.cc:7:0:
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:2754:44: note: candidate: v8::MaybeLocal<v8::Object> v8::Value::ToObject(v8::Local<v8::Context>) const
 V8_WARN_UNUSED_RESULT MaybeLocal<Object> ToObject(
                                          ^~~~~~~~
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:2754:44: note:   candidate expects 1 argument, 0 provided
../src/bufferutil.cc:56:39: error: no matching function for call to ‘v8::Array::Get(unsigned int&)’
     Local<Object> src = array->Get(i)->ToObject();
                                     ^
In file included from ../src/bufferutil.cc:7:0:
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:3594:43: note: candidate: v8::MaybeLocal<v8::Value> v8::Object::Get(v8::Local<v8::Context>, v8::Local<v8::Value>)
 V8_WARN_UNUSED_RESULT MaybeLocal<Value> Get(Local<Context> context,
                                         ^~~
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:3594:43: note:   candidate expects 2 arguments, 1 provided
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:3597:43: note: candidate: v8::MaybeLocal<v8::Value> v8::Object::Get(v8::Local<v8::Context>, uint32_t)
 V8_WARN_UNUSED_RESULT MaybeLocal<Value> Get(Local<Context> context,
                                         ^~~
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:3597:43: note:   candidate expects 2 arguments, 1 provided
../src/bufferutil.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE BufferUtil::Unmask(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/bufferutil.cc:67:50: error: no matching function for call to ‘v8::Value::ToObject()’
   Local<Object> buffer_obj = info[0]->ToObject();
                                                ^
In file included from ../src/bufferutil.cc:7:0:
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:2754:44: note: candidate: v8::MaybeLocal<v8::Object> v8::Value::ToObject(v8::Local<v8::Context>) const
 V8_WARN_UNUSED_RESULT MaybeLocal<Object> ToObject(
                                          ^~~~~~~~
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:2754:44: note:   candidate expects 1 argument, 0 provided
../src/bufferutil.cc:69:48: error: no matching function for call to ‘v8::Value::ToObject()’
   Local<Object> mask_obj = info[1]->ToObject();
                                              ^
In file included from ../src/bufferutil.cc:7:0:
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:2754:44: note: candidate: v8::MaybeLocal<v8::Object> v8::Value::ToObject(v8::Local<v8::Context>) const
 V8_WARN_UNUSED_RESULT MaybeLocal<Object> ToObject(
                                          ^~~~~~~~
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:2754:44: note:   candidate expects 1 argument, 0 provided
../src/bufferutil.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE BufferUtil::Mask(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/bufferutil.cc:88:50: error: no matching function for call to ‘v8::Value::ToObject()’
   Local<Object> buffer_obj = info[0]->ToObject();
                                                ^
In file included from ../src/bufferutil.cc:7:0:
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:2754:44: note: candidate: v8::MaybeLocal<v8::Object> v8::Value::ToObject(v8::Local<v8::Context>) const
 V8_WARN_UNUSED_RESULT MaybeLocal<Object> ToObject(
                                          ^~~~~~~~
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:2754:44: note:   candidate expects 1 argument, 0 provided
../src/bufferutil.cc:89:48: error: no matching function for call to ‘v8::Value::ToObject()’
   Local<Object> mask_obj = info[1]->ToObject();
                                              ^
In file included from ../src/bufferutil.cc:7:0:
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:2754:44: note: candidate: v8::MaybeLocal<v8::Object> v8::Value::ToObject(v8::Local<v8::Context>) const
 V8_WARN_UNUSED_RESULT MaybeLocal<Object> ToObject(
                                          ^~~~~~~~
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:2754:44: note:   candidate expects 1 argument, 0 provided
../src/bufferutil.cc:91:50: error: no matching function for call to ‘v8::Value::ToObject()’
   Local<Object> output_obj = info[2]->ToObject();
                                                ^
In file included from ../src/bufferutil.cc:7:0:
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:2754:44: note: candidate: v8::MaybeLocal<v8::Object> v8::Value::ToObject(v8::Local<v8::Context>) const
 V8_WARN_UNUSED_RESULT MaybeLocal<Object> ToObject(
                                          ^~~~~~~~
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:2754:44: note:   candidate expects 1 argument, 0 provided
../src/bufferutil.cc:92:51: error: no matching function for call to ‘v8::Value::Int32Value()’
   unsigned int dataOffset = info[3]->Int32Value();
                                                 ^
In file included from ../src/bufferutil.cc:7:0:
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:2778:40: note: candidate: v8::Maybe<int> v8::Value::Int32Value(v8::Local<v8::Context>) const
 V8_WARN_UNUSED_RESULT Maybe<int32_t> Int32Value(Local<Context> context) const;
                                      ^~~~~~~~~~
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:2778:40: note:   candidate expects 1 argument, 0 provided
../src/bufferutil.cc:93:47: error: no matching function for call to ‘v8::Value::Int32Value()’
   unsigned int length = info[4]->Int32Value();
                                             ^
In file included from ../src/bufferutil.cc:7:0:
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:2778:40: note: candidate: v8::Maybe<int> v8::Value::Int32Value(v8::Local<v8::Context>) const
 V8_WARN_UNUSED_RESULT Maybe<int32_t> Int32Value(Local<Context> context) const;
                                      ^~~~~~~~~~
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:2778:40: note:   candidate expects 1 argument, 0 provided
../src/bufferutil.cc: At global scope:
../src/bufferutil.cc:114:12: error: variable or field ‘init’ declared void
void init (Handle<Object> target)
          ^~~~~~
../src/bufferutil.cc:114:12: error: ‘Handle’ was not declared in this scope
../src/bufferutil.cc:114:12: note: suggested alternative: ‘rand_r’
void init (Handle<Object> target)
          ^~~~~~
          rand_r
../src/bufferutil.cc:114:25: error: expected primary-expression before ‘>’ token
void init (Handle<Object> target)
                       ^
../src/bufferutil.cc:114:27: error: ‘target’ was not declared in this scope
void init (Handle<Object> target)
                         ^~~~~~
../src/bufferutil.cc:114:27: note: suggested alternative: ‘tzset’
void init (Handle<Object> target)
                         ^~~~~~
                         tzset
In file included from ../src/bufferutil.cc:8:0:
../src/bufferutil.cc:120:25: error: ‘init’ was not declared in this scope
NODE_MODULE(bufferutil, init)
                       ^
/home/user/.cache/node-gyp/13.5.0/include/node/node.h:611:36: note: in definition of macro ‘NODE_MODULE_X’
     (node::addon_register_func) (regfunc),                          \
                                  ^~~~~~~
../src/bufferutil.cc:120:1: note: in expansion of macro ‘NODE_MODULE’
NODE_MODULE(bufferutil, init)
^~~~~~~~~~~
../src/bufferutil.cc:120:25: note: suggested alternative: ‘int’
NODE_MODULE(bufferutil, init)
                       ^
/home/user/.cache/node-gyp/13.5.0/include/node/node.h:611:36: note: in definition of macro ‘NODE_MODULE_X’
     (node::addon_register_func) (regfunc),                          \
                                  ^~~~~~~
../src/bufferutil.cc:120:1: note: in expansion of macro ‘NODE_MODULE’
NODE_MODULE(bufferutil, init)
^~~~~~~~~~~
bufferutil.target.mk:110: recipe for target 'Release/obj.target/bufferutil/src/bufferutil.o' failed
make: *** [Release/obj.target/bufferutil/src/bufferutil.o] Error 1
make: Leaving directory '/home/user/Documents/explorer/node_modules/bufferutil/build'
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:194:23)
gyp ERR! stack     at ChildProcess.emit (events.js:305:20)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:275:12)
gyp ERR! System Linux 4.15.0-74-generic
gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /home/user/Documents/explorer/node_modules/bufferutil
gyp ERR! node -v v13.5.0
gyp ERR! node-gyp -v v5.0.5
gyp ERR! not ok

> [email protected] install /home/user/Documents/explorer/node_modules/utf-8-validate
> node-gyp rebuild

make: Entering directory '/home/user/Documents/explorer/node_modules/utf-8-validate/build'
CXX(target) Release/obj.target/validation/src/validation.o
In file included from ../node_modules/nan/nan.h:190:0,
               from ../src/validation.cc:15:
../node_modules/nan/nan_maybe_43_inl.h: In function ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’:
../node_modules/nan/nan_maybe_43_inl.h:88:15: error: ‘class v8::Object’ has no member named ‘ForceSet’
 return obj->ForceSet(GetCurrentContext(), key, value, attribs);
             ^~~~~~~~
In file included from ../node_modules/nan/nan_converters.h:59:0,
               from ../node_modules/nan/nan.h:195,
               from ../src/validation.cc:15:
../node_modules/nan/nan_converters_43_inl.h: In static member function ‘static Nan::imp::ToFactoryBase<v8::Boolean>::return_t Nan::imp::ToFactory<v8::Boolean>::convert(v8::Local<v8::Value>)’:
../node_modules/nan/nan_converters_43_inl.h:15:45: error: no matching function for call to ‘v8::Value::ToBoolean(v8::Local<v8::Context>)’
 return val->To ## TYPE(GetCurrentContext());                                 \
                                           ^
../node_modules/nan/nan_converters_43_inl.h:18:1: note: in expansion of macro ‘X’
X(Boolean)
^
In file included from ../src/validation.cc:7:0:
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:2762:18: note: candidate: v8::Local<v8::Boolean> v8::Value::ToBoolean(v8::Isolate*) const
 Local<Boolean> ToBoolean(Isolate* isolate) const;
                ^~~~~~~~~
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:2762:18: note:   no known conversion for argument 1 from ‘v8::Local<v8::Context>’ to ‘v8::Isolate*’
In file included from ../node_modules/nan/nan_converters.h:59:0,
               from ../node_modules/nan/nan.h:195,
               from ../src/validation.cc:15:
../node_modules/nan/nan_converters_43_inl.h: In static member function ‘static Nan::imp::ValueFactoryBase<bool>::return_t Nan::imp::ToFactory<bool>::convert(v8::Local<v8::Value>)’:
../node_modules/nan/nan_converters_43_inl.h:31:48: error: no matching function for call to ‘v8::Value::BooleanValue(v8::Local<v8::Context>)’
 return val->NAME ## Value(GetCurrentContext());                              \
                                              ^
../node_modules/nan/nan_converters_43_inl.h:34:1: note: in expansion of macro ‘X’
X(bool, Boolean)
^
In file included from ../src/validation.cc:7:0:
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:2771:8: note: candidate: bool v8::Value::BooleanValue(v8::Isolate*) const
 bool BooleanValue(Isolate* isolate) const;
      ^~~~~~~~~~~~
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:2771:8: note:   no known conversion for argument 1 from ‘v8::Local<v8::Context>’ to ‘v8::Isolate*’
In file included from ../node_modules/nan/nan_new.h:189:0,
               from ../node_modules/nan/nan.h:196,
               from ../src/validation.cc:15:
../node_modules/nan/nan_implementation_12_inl.h: In static member function ‘static Nan::imp::FactoryBase<v8::Function>::return_t Nan::imp::Factory<v8::Function>::New(Nan::FunctionCallback, v8::Local<v8::Value>)’:
../node_modules/nan/nan_implementation_12_inl.h:109:32: error: no matching function for call to ‘v8::Function::New(v8::Isolate*&, void (&)(const v8::FunctionCallbackInfo<v8::Value>&), v8::Local<v8::Object>&)’
                         , obj));
                              ^
In file included from ../src/validation.cc:7:0:
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:4312:31: note: candidate: static v8::MaybeLocal<v8::Function> v8::Function::New(v8::Local<v8::Context>, v8::FunctionCallback, v8::Local<v8::Value>, int, v8::ConstructorBehavior, v8::SideEffectType)
 static MaybeLocal<Function> New(
                             ^~~
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:4312:31: note:   no known conversion for argument 1 from ‘v8::Isolate*’ to ‘v8::Local<v8::Context>’
In file included from ../node_modules/nan/nan_new.h:189:0,
               from ../node_modules/nan/nan.h:196,
               from ../src/validation.cc:15:
../node_modules/nan/nan_implementation_12_inl.h: In static member function ‘static Nan::imp::FactoryBase<v8::StringObject>::return_t Nan::imp::Factory<v8::StringObject>::New(v8::Local<v8::String>)’:
../node_modules/nan/nan_implementation_12_inl.h:345:37: error: no matching function for call to ‘v8::StringObject::New(v8::Local<v8::String>&)’
 return v8::StringObject::New(value).As<v8::StringObject>();
                                   ^
In file included from ../src/validation.cc:7:0:
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:5688:23: note: candidate: static v8::Local<v8::Value> v8::StringObject::New(v8::Isolate*, v8::Local<v8::String>)
 static Local<Value> New(Isolate* isolate, Local<String> value);
                     ^~~
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:5688:23: note:   candidate expects 2 arguments, 1 provided
In file included from ../node_modules/nan/nan_new.h:189:0,
               from ../node_modules/nan/nan.h:196,
               from ../src/validation.cc:15:
../node_modules/nan/nan_implementation_12_inl.h:345:58: error: expected primary-expression before ‘>’ token
 return v8::StringObject::New(value).As<v8::StringObject>();
                                                        ^
../node_modules/nan/nan_implementation_12_inl.h:345:60: error: expected primary-expression before ‘)’ token
 return v8::StringObject::New(value).As<v8::StringObject>();
                                                          ^
In file included from ../src/validation.cc:15:0:
../node_modules/nan/nan.h: In function ‘v8::Local<v8::Value> Nan::MakeCallback(v8::Local<v8::Object>, v8::Local<v8::Function>, int, v8::Local<v8::Value>*)’:
../node_modules/nan/nan.h:817:60: warning: ‘v8::Local<v8::Value> node::MakeCallback(v8::Isolate*, v8::Local<v8::Object>, v8::Local<v8::Function>, int, v8::Local<v8::Value>*)’ is deprecated: Use MakeCallback(..., async_context) [-Wdeprecated-declarations]
       v8::Isolate::GetCurrent(), target, func, argc, argv);
                                                          ^
In file included from ../src/validation.cc:8:0:
/home/user/.cache/node-gyp/13.5.0/include/node/node.h:180:50: note: declared here
               NODE_EXTERN v8::Local<v8::Value> MakeCallback(
                                                ^
/home/user/.cache/node-gyp/13.5.0/include/node/node.h:99:42: note: in definition of macro ‘NODE_DEPRECATED’
   __attribute__((deprecated(message))) declarator
                                        ^~~~~~~~~~
In file included from ../src/validation.cc:15:0:
../node_modules/nan/nan.h: In function ‘v8::Local<v8::Value> Nan::MakeCallback(v8::Local<v8::Object>, v8::Local<v8::String>, int, v8::Local<v8::Value>*)’:
../node_modules/nan/nan.h:831:62: warning: ‘v8::Local<v8::Value> node::MakeCallback(v8::Isolate*, v8::Local<v8::Object>, v8::Local<v8::String>, int, v8::Local<v8::Value>*)’ is deprecated: Use MakeCallback(..., async_context) [-Wdeprecated-declarations]
       v8::Isolate::GetCurrent(), target, symbol, argc, argv);
                                                            ^
In file included from ../src/validation.cc:8:0:
/home/user/.cache/node-gyp/13.5.0/include/node/node.h:173:50: note: declared here
               NODE_EXTERN v8::Local<v8::Value> MakeCallback(
                                                ^
/home/user/.cache/node-gyp/13.5.0/include/node/node.h:99:42: note: in definition of macro ‘NODE_DEPRECATED’
   __attribute__((deprecated(message))) declarator
                                        ^~~~~~~~~~
In file included from ../src/validation.cc:15:0:
../node_modules/nan/nan.h: In function ‘v8::Local<v8::Value> Nan::MakeCallback(v8::Local<v8::Object>, const char*, int, v8::Local<v8::Value>*)’:
../node_modules/nan/nan.h:845:62: warning: ‘v8::Local<v8::Value> node::MakeCallback(v8::Isolate*, v8::Local<v8::Object>, const char*, int, v8::Local<v8::Value>*)’ is deprecated: Use MakeCallback(..., async_context) [-Wdeprecated-declarations]
       v8::Isolate::GetCurrent(), target, method, argc, argv);
                                                            ^
In file included from ../src/validation.cc:8:0:
/home/user/.cache/node-gyp/13.5.0/include/node/node.h:166:50: note: declared here
               NODE_EXTERN v8::Local<v8::Value> MakeCallback(
                                                ^
/home/user/.cache/node-gyp/13.5.0/include/node/node.h:99:42: note: in definition of macro ‘NODE_DEPRECATED’
   __attribute__((deprecated(message))) declarator
                                        ^~~~~~~~~~
In file included from ../src/validation.cc:15:0:
../node_modules/nan/nan.h: In constructor ‘Nan::Utf8String::Utf8String(v8::Local<v8::Value>)’:
../node_modules/nan/nan.h:890:53: error: no matching function for call to ‘v8::Value::ToString()’
     v8::Local<v8::String> string = from->ToString();
                                                   ^
In file included from ../src/validation.cc:7:0:
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:2750:44: note: candidate: v8::MaybeLocal<v8::String> v8::Value::ToString(v8::Local<v8::Context>) const
 V8_WARN_UNUSED_RESULT MaybeLocal<String> ToString(
                                          ^~~~~~~~
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:2750:44: note:   candidate expects 1 argument, 0 provided
In file included from ../src/validation.cc:15:0:
../node_modules/nan/nan.h:900:74: error: no matching function for call to ‘v8::String::WriteUtf8(char*&, int, int, const int&)’
       length_ = string->WriteUtf8(str_, static_cast<int>(len), 0, flags);
                                                                        ^
In file included from ../src/validation.cc:7:0:
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:2947:7: note: candidate: int v8::String::WriteUtf8(v8::Isolate*, char*, int, int*, int) const
 int WriteUtf8(Isolate* isolate, char* buffer, int length = -1,
     ^~~~~~~~~
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:2947:7: note:   no known conversion for argument 1 from ‘char*’ to ‘v8::Isolate*’
In file included from ../src/validation.cc:15:0:
../node_modules/nan/nan.h: In member function ‘v8::Local<v8::Value> Nan::Callback::Call_(v8::Isolate*, v8::Local<v8::Object>, int, v8::Local<v8::Value>*) const’:
../node_modules/nan/nan.h:1453:5: warning: ‘v8::Local<v8::Value> node::MakeCallback(v8::Isolate*, v8::Local<v8::Object>, v8::Local<v8::Function>, int, v8::Local<v8::Value>*)’ is deprecated: Use MakeCallback(..., async_context) [-Wdeprecated-declarations]
   ));
   ^
In file included from ../src/validation.cc:8:0:
/home/user/.cache/node-gyp/13.5.0/include/node/node.h:180:50: note: declared here
               NODE_EXTERN v8::Local<v8::Value> MakeCallback(
                                                ^
/home/user/.cache/node-gyp/13.5.0/include/node/node.h:99:42: note: in definition of macro ‘NODE_DEPRECATED’
   __attribute__((deprecated(message))) declarator
                                        ^~~~~~~~~~
In file included from ../src/validation.cc:15:0:
../node_modules/nan/nan.h: In member function ‘void Nan::AsyncWorker::SaveToPersistent(const char*, const v8::Local<v8::Value>&)’:
../node_modules/nan/nan.h:1507:64: error: no matching function for call to ‘v8::Object::Set(v8::Local<v8::String>, const v8::Local<v8::Value>&)’
   New(persistentHandle)->Set(New(key).ToLocalChecked(), value);
                                                              ^
In file included from ../src/validation.cc:7:0:
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:3547:37: note: candidate: v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, v8::Local<v8::Value>, v8::Local<v8::Value>)
 V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context,
                                   ^~~
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:3547:37: note:   candidate expects 3 arguments, 2 provided
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:3550:37: note: candidate: v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, uint32_t, v8::Local<v8::Value>)
 V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context, uint32_t index,
                                   ^~~
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:3550:37: note:   candidate expects 3 arguments, 2 provided
In file included from ../src/validation.cc:15:0:
../node_modules/nan/nan.h: In member function ‘void Nan::AsyncWorker::SaveToPersistent(const v8::Local<v8::String>&, const v8::Local<v8::Value>&)’:
../node_modules/nan/nan.h:1513:42: error: no matching function for call to ‘v8::Object::Set(const v8::Local<v8::String>&, const v8::Local<v8::Value>&)’
   New(persistentHandle)->Set(key, value);
                                        ^
In file included from ../src/validation.cc:7:0:
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:3547:37: note: candidate: v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, v8::Local<v8::Value>, v8::Local<v8::Value>)
 V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context,
                                   ^~~
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:3547:37: note:   candidate expects 3 arguments, 2 provided
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:3550:37: note: candidate: v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, uint32_t, v8::Local<v8::Value>)
 V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context, uint32_t index,
                                   ^~~
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:3550:37: note:   candidate expects 3 arguments, 2 provided
In file included from ../src/validation.cc:15:0:
../node_modules/nan/nan.h: In member function ‘void Nan::AsyncWorker::SaveToPersistent(uint32_t, const v8::Local<v8::Value>&)’:
../node_modules/nan/nan.h:1519:44: error: no matching function for call to ‘v8::Object::Set(uint32_t&, const v8::Local<v8::Value>&)’
   New(persistentHandle)->Set(index, value);
                                          ^
In file included from ../src/validation.cc:7:0:
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:3547:37: note: candidate: v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, v8::Local<v8::Value>, v8::Local<v8::Value>)
 V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context,
                                   ^~~
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:3547:37: note:   candidate expects 3 arguments, 2 provided
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:3550:37: note: candidate: v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, uint32_t, v8::Local<v8::Value>)
 V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context, uint32_t index,
                                   ^~~
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:3550:37: note:   candidate expects 3 arguments, 2 provided
In file included from ../src/validation.cc:15:0:
../node_modules/nan/nan.h: In member function ‘v8::Local<v8::Value> Nan::AsyncWorker::GetFromPersistent(const char*) const’:
../node_modules/nan/nan.h:1525:61: error: no matching function for call to ‘v8::Object::Get(v8::Local<v8::String>)’
       New(persistentHandle)->Get(New(key).ToLocalChecked()));
                                                           ^
In file included from ../src/validation.cc:7:0:
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:3594:43: note: candidate: v8::MaybeLocal<v8::Value> v8::Object::Get(v8::Local<v8::Context>, v8::Local<v8::Value>)
 V8_WARN_UNUSED_RESULT MaybeLocal<Value> Get(Local<Context> context,
                                         ^~~
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:3594:43: note:   candidate expects 2 arguments, 1 provided
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:3597:43: note: candidate: v8::MaybeLocal<v8::Value> v8::Object::Get(v8::Local<v8::Context>, uint32_t)
 V8_WARN_UNUSED_RESULT MaybeLocal<Value> Get(Local<Context> context,
                                         ^~~
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:3597:43: note:   candidate expects 2 arguments, 1 provided
In file included from ../src/validation.cc:15:0:
../node_modules/nan/nan.h: In member function ‘v8::Local<v8::Value> Nan::AsyncWorker::GetFromPersistent(const v8::Local<v8::String>&) const’:
../node_modules/nan/nan.h:1531:55: error: no matching function for call to ‘v8::Object::Get(const v8::Local<v8::String>&)’
   return scope.Escape(New(persistentHandle)->Get(key));
                                                     ^
In file included from ../src/validation.cc:7:0:
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:3594:43: note: candidate: v8::MaybeLocal<v8::Value> v8::Object::Get(v8::Local<v8::Context>, v8::Local<v8::Value>)
 V8_WARN_UNUSED_RESULT MaybeLocal<Value> Get(Local<Context> context,
                                         ^~~
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:3594:43: note:   candidate expects 2 arguments, 1 provided
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:3597:43: note: candidate: v8::MaybeLocal<v8::Value> v8::Object::Get(v8::Local<v8::Context>, uint32_t)
 V8_WARN_UNUSED_RESULT MaybeLocal<Value> Get(Local<Context> context,
                                         ^~~
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:3597:43: note:   candidate expects 2 arguments, 1 provided
In file included from ../src/validation.cc:15:0:
../node_modules/nan/nan.h: In member function ‘v8::Local<v8::Value> Nan::AsyncWorker::GetFromPersistent(uint32_t) const’:
../node_modules/nan/nan.h:1536:57: error: no matching function for call to ‘v8::Object::Get(uint32_t&)’
   return scope.Escape(New(persistentHandle)->Get(index));
                                                       ^
In file included from ../src/validation.cc:7:0:
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:3594:43: note: candidate: v8::MaybeLocal<v8::Value> v8::Object::Get(v8::Local<v8::Context>, v8::Local<v8::Value>)
 V8_WARN_UNUSED_RESULT MaybeLocal<Value> Get(Local<Context> context,
                                         ^~~
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:3594:43: note:   candidate expects 2 arguments, 1 provided
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:3597:43: note: candidate: v8::MaybeLocal<v8::Value> v8::Object::Get(v8::Local<v8::Context>, uint32_t)
 V8_WARN_UNUSED_RESULT MaybeLocal<Value> Get(Local<Context> context,
                                         ^~~
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:3597:43: note:   candidate expects 2 arguments, 1 provided
In file included from /usr/include/c++/7/cassert:44:0,
               from /home/user/.cache/node-gyp/13.5.0/include/node/node_object_wrap.h:26,
               from ../src/validation.cc:11:
../node_modules/nan/nan_object_wrap.h: In destructor ‘virtual Nan::ObjectWrap::~ObjectWrap()’:
../node_modules/nan/nan_object_wrap.h:24:25: error: ‘class Nan::Persistent<v8::Object>’ has no member named ‘IsNearDeath’
   assert(persistent().IsNearDeath());
                       ^
In file included from ../node_modules/nan/nan.h:2190:0,
               from ../src/validation.cc:15:
../node_modules/nan/nan_object_wrap.h: In member function ‘void Nan::ObjectWrap::MakeWeak()’:
../node_modules/nan/nan_object_wrap.h:67:18: error: ‘class Nan::Persistent<v8::Object>’ has no member named ‘MarkIndependent’
   persistent().MarkIndependent();
                ^~~~~~~~~~~~~~~
In file included from /usr/include/c++/7/cassert:44:0,
               from /home/user/.cache/node-gyp/13.5.0/include/node/node_object_wrap.h:26,
               from ../src/validation.cc:11:
../node_modules/nan/nan_object_wrap.h: In static member function ‘static void Nan::ObjectWrap::WeakCallback(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)’:
../node_modules/nan/nan_object_wrap.h:124:26: error: ‘class Nan::Persistent<v8::Object>’ has no member named ‘IsNearDeath’
   assert(wrap->handle_.IsNearDeath());
                        ^
../src/validation.cc: At global scope:
../src/validation.cc:106:30: error: ‘v8::Handle’ has not been declared
 static void Initialize(v8::Handle<v8::Object> target)
                            ^~~~~~
../src/validation.cc:106:36: error: expected ‘,’ or ‘...’ before ‘<’ token
 static void Initialize(v8::Handle<v8::Object> target)
                                  ^
../src/validation.cc: In static member function ‘static void Validation::Initialize(int)’:
../src/validation.cc:112:14: error: ‘target’ was not declared in this scope
   Nan::Set(target, Nan::New<String>("Validation").ToLocalChecked(), t->GetFunction());
            ^~~~~~
../src/validation.cc:112:14: note: suggested alternative: ‘tzset’
   Nan::Set(target, Nan::New<String>("Validation").ToLocalChecked(), t->GetFunction());
            ^~~~~~
            tzset
../src/validation.cc:112:86: error: no matching function for call to ‘v8::FunctionTemplate::GetFunction()’
Set(target, Nan::New<String>("Validation").ToLocalChecked(), t->GetFunction());
                                                                           ^
In file included from ../src/validation.cc:7:0:
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:6283:46: note: candidate: v8::MaybeLocal<v8::Function> v8::FunctionTemplate::GetFunction(v8::Local<v8::Context>)
 V8_WARN_UNUSED_RESULT MaybeLocal<Function> GetFunction(
                                            ^~~~~~~~~~~
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:6283:46: note:   candidate expects 1 argument, 0 provided
../src/validation.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE Validation::IsValidUTF8(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/validation.cc:131:50: error: no matching function for call to ‘v8::Value::ToObject()’
   Local<Object> buffer_obj = info[0]->ToObject();
                                                ^
In file included from ../src/validation.cc:7:0:
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:2754:44: note: candidate: v8::MaybeLocal<v8::Object> v8::Value::ToObject(v8::Local<v8::Context>) const
 V8_WARN_UNUSED_RESULT MaybeLocal<Object> ToObject(
                                          ^~~~~~~~
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:2754:44: note:   candidate expects 1 argument, 0 provided
../src/validation.cc: At global scope:
../src/validation.cc:140:12: error: variable or field ‘init’ declared void
void init (Handle<Object> target)
          ^~~~~~
../src/validation.cc:140:12: error: ‘Handle’ was not declared in this scope
../src/validation.cc:140:12: note: suggested alternative: ‘rand_r’
void init (Handle<Object> target)
          ^~~~~~
          rand_r
../src/validation.cc:140:25: error: expected primary-expression before ‘>’ token
void init (Handle<Object> target)
                       ^
../src/validation.cc:140:27: error: ‘target’ was not declared in this scope
void init (Handle<Object> target)
                         ^~~~~~
../src/validation.cc:140:27: note: suggested alternative: ‘tzset’
void init (Handle<Object> target)
                         ^~~~~~
                         tzset
In file included from ../src/validation.cc:8:0:
../src/validation.cc:146:25: error: ‘init’ was not declared in this scope
NODE_MODULE(validation, init)
                       ^
/home/user/.cache/node-gyp/13.5.0/include/node/node.h:611:36: note: in definition of macro ‘NODE_MODULE_X’
     (node::addon_register_func) (regfunc),                          \
                                  ^~~~~~~
../src/validation.cc:146:1: note: in expansion of macro ‘NODE_MODULE’
NODE_MODULE(validation, init)
^~~~~~~~~~~
../src/validation.cc:146:25: note: suggested alternative: ‘int’
NODE_MODULE(validation, init)
                       ^
/home/user/.cache/node-gyp/13.5.0/include/node/node.h:611:36: note: in definition of macro ‘NODE_MODULE_X’
     (node::addon_register_func) (regfunc),                          \
                                  ^~~~~~~
../src/validation.cc:146:1: note: in expansion of macro ‘NODE_MODULE’
NODE_MODULE(validation, init)
^~~~~~~~~~~
../src/validation.cc: In function ‘int is_valid_utf8(size_t, char*)’:
../src/validation.cc:81:47: warning: this statement may fall through [-Wimplicit-fallthrough=]
     case 5 : ch += (uint8_t) value[i++]; ch <<= 6;
                                          ~~~^~~~~
../src/validation.cc:82:7: note: here
     case 4 : ch += (uint8_t) value[i++]; ch <<= 6;
     ^~~~
../src/validation.cc:82:47: warning: this statement may fall through [-Wimplicit-fallthrough=]
     case 4 : ch += (uint8_t) value[i++]; ch <<= 6;
                                          ~~~^~~~~
../src/validation.cc:83:7: note: here
     case 3 : ch += (uint8_t) value[i++]; ch <<= 6;
     ^~~~
../src/validation.cc:83:47: warning: this statement may fall through [-Wimplicit-fallthrough=]
     case 3 : ch += (uint8_t) value[i++]; ch <<= 6;
                                          ~~~^~~~~
../src/validation.cc:84:7: note: here
     case 2 : ch += (uint8_t) value[i++]; ch <<= 6;
     ^~~~
../src/validation.cc:84:47: warning: this statement may fall through [-Wimplicit-fallthrough=]
     case 2 : ch += (uint8_t) value[i++]; ch <<= 6;
                                          ~~~^~~~~
../src/validation.cc:85:7: note: here
     case 1 : ch += (uint8_t) value[i++]; ch <<= 6;
     ^~~~
../src/validation.cc:85:47: warning: this statement may fall through [-Wimplicit-fallthrough=]
     case 1 : ch += (uint8_t) value[i++]; ch <<= 6;
                                          ~~~^~~~~
../src/validation.cc:86:7: note: here
     case 0 : ch += (uint8_t) value[i];
     ^~~~
../src/validation.cc: In function ‘int isLegalUTF8(const uint8_t*, int)’:
../src/validation.cc:51:13: warning: this statement may fall through [-Wimplicit-fallthrough=]
   case 4: if ((a = (*--srcptr)) < 0x80 || a > 0xBF) return 0;
           ^~
../src/validation.cc:52:5: note: here
   case 3: if ((a = (*--srcptr)) < 0x80 || a > 0xBF) return 0;
   ^~~~
../src/validation.cc:52:13: warning: this statement may fall through [-Wimplicit-fallthrough=]
   case 3: if ((a = (*--srcptr)) < 0x80 || a > 0xBF) return 0;
           ^~
../src/validation.cc:53:5: note: here
   case 2: if ((a = (*--srcptr)) < 0x80 || a > 0xBF) return 0;
   ^~~~
../src/validation.cc:59:20: warning: this statement may fall through [-Wimplicit-fallthrough=]
       case 0xF4: if (a > 0x8F) return 0;
                  ^~
../src/validation.cc:62:5: note: here
   case 1: if (*source >= 0x80 && *source < 0xC2) return 0;
   ^~~~
validation.target.mk:110: recipe for target 'Release/obj.target/validation/src/validation.o' failed
make: *** [Release/obj.target/validation/src/validation.o] Error 1
make: Leaving directory '/home/user/Documents/explorer/node_modules/utf-8-validate/build'
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:194:23)
gyp ERR! stack     at ChildProcess.emit (events.js:305:20)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:275:12)
gyp ERR! System Linux 4.15.0-74-generic
gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /home/user/Documents/explorer/node_modules/utf-8-validate
gyp ERR! node -v v13.5.0
gyp ERR! node-gyp -v v5.0.5
gyp ERR! not ok

> [email protected] postinstall /home/user/Documents/explorer
> bower install

npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/bufferutil):
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] install: `node-gyp rebuild`
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Exit status 1
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/utf-8-validate):
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] install: `node-gyp rebuild`
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Exit status 1

audited 1681 packages in 19.527s

25 packages are looking for funding
run `npm fund` for details

found 48 vulnerabilities (16 low, 9 moderate, 23 high)
run `npm audit fix` to fix them, or `npm audit` for details

> [email protected] start /home/user/Documents/explorer
> http-server ./app -a localhost -p 8000 -c-1

Starting up http-server, serving ./app
Available on:
http://localhost:8000
Hit CTRL-C to stop the server
[2020-01-07T17:27:26.558Z]  "GET /" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:71.0) Gecko/20100101 Firefox/71.0"
(node:8388) [DEP0066] DeprecationWarning: OutgoingMessage.prototype._headers is deprecated
[2020-01-07T17:27:26.882Z]  "GET /styles/main.css" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:71.0) Gecko/20100101 Firefox/71.0"
[2020-01-07T17:27:26.902Z]  "GET /bower_components/web3/dist/web3.min.js" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:71.0) Gecko/20100101 Firefox/71.0"
[2020-01-07T17:27:26.922Z]  "GET /bower_components/angular-bootstrap/ui-bootstrap.min.js" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:71.0) Gecko/20100101 Firefox/71.0"
[2020-01-07T17:27:26.928Z]  "GET /bower_components/angular-route/angular-route.js" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:71.0) Gecko/20100101 Firefox/71.0"
[2020-01-07T17:27:26.960Z]  "GET /app.js" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:71.0) Gecko/20100101 Firefox/71.0"
[2020-01-07T17:27:26.965Z]  "GET /scripts/controllers/mainController.js" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:71.0) Gecko/20100101 Firefox/71.0"
[2020-01-07T17:27:26.971Z]  "GET /scripts/controllers/addressInfoController.js" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:71.0) Gecko/20100101 Firefox/71.0"
[2020-01-07T17:27:26.995Z]  "GET /scripts/controllers/blockInfosController.js" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:71.0) Gecko/20100101 Firefox/71.0"
[2020-01-07T17:27:27.001Z]  "GET /scripts/controllers/transactionInfosController.js" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:71.0) Gecko/20100101 Firefox/71.0"
[2020-01-07T17:27:28.305Z]  "GET /views/main.html" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:71.0) Gecko/20100101 Firefox/71.0"
^Chttp-server stopped.
npm fund
npm audit fix
user@vm:~/Documents/explorer$ npm audit fix

> [email protected] install /home/user/Documents/explorer/node_modules/bufferutil
> node-gyp rebuild

make: Entering directory '/home/user/Documents/explorer/node_modules/bufferutil/build'
CXX(target) Release/obj.target/bufferutil/src/bufferutil.o
../src/bufferutil.cc:25:30: error: ‘v8::Handle’ has not been declared
 static void Initialize(v8::Handle<v8::Object> target)
                            ^~~~~~
../src/bufferutil.cc:25:36: error: expected ‘,’ or ‘...’ before ‘<’ token
 static void Initialize(v8::Handle<v8::Object> target)
                                  ^
../src/bufferutil.cc: In static member function ‘static void BufferUtil::Initialize(int)’:
../src/bufferutil.cc:33:14: error: ‘target’ was not declared in this scope
   Nan::Set(target, Nan::New<String>("BufferUtil").ToLocalChecked(), t->GetFunction());
            ^~~~~~
../src/bufferutil.cc:33:14: note: suggested alternative: ‘Merge’
   Nan::Set(target, Nan::New<String>("BufferUtil").ToLocalChecked(), t->GetFunction());
            ^~~~~~
            Merge
../src/bufferutil.cc:33:86: error: no matching function for call to ‘v8::FunctionTemplate::GetFunction()’
Set(target, Nan::New<String>("BufferUtil").ToLocalChecked(), t->GetFunction());
                                                                           ^
In file included from ../src/bufferutil.cc:7:0:
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:6283:46: note: candidate: v8::MaybeLocal<v8::Function> v8::FunctionTemplate::GetFunction(v8::Local<v8::Context>)
 V8_WARN_UNUSED_RESULT MaybeLocal<Function> GetFunction(
                                            ^~~~~~~~~~~
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:6283:46: note:   candidate expects 1 argument, 0 provided
../src/bufferutil.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE BufferUtil::Merge(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/bufferutil.cc:49:49: error: no matching function for call to ‘v8::Value::ToObject()’
   Local<Object> bufferObj = info[0]->ToObject();
                                               ^
In file included from ../src/bufferutil.cc:7:0:
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:2754:44: note: candidate: v8::MaybeLocal<v8::Object> v8::Value::ToObject(v8::Local<v8::Context>) const
 V8_WARN_UNUSED_RESULT MaybeLocal<Object> ToObject(
                                          ^~~~~~~~
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:2754:44: note:   candidate expects 1 argument, 0 provided
../src/bufferutil.cc:56:39: error: no matching function for call to ‘v8::Array::Get(unsigned int&)’
     Local<Object> src = array->Get(i)->ToObject();
                                     ^
In file included from ../src/bufferutil.cc:7:0:
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:3594:43: note: candidate: v8::MaybeLocal<v8::Value> v8::Object::Get(v8::Local<v8::Context>, v8::Local<v8::Value>)
 V8_WARN_UNUSED_RESULT MaybeLocal<Value> Get(Local<Context> context,
                                         ^~~
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:3594:43: note:   candidate expects 2 arguments, 1 provided
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:3597:43: note: candidate: v8::MaybeLocal<v8::Value> v8::Object::Get(v8::Local<v8::Context>, uint32_t)
 V8_WARN_UNUSED_RESULT MaybeLocal<Value> Get(Local<Context> context,
                                         ^~~
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:3597:43: note:   candidate expects 2 arguments, 1 provided
../src/bufferutil.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE BufferUtil::Unmask(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/bufferutil.cc:67:50: error: no matching function for call to ‘v8::Value::ToObject()’
   Local<Object> buffer_obj = info[0]->ToObject();
                                                ^
In file included from ../src/bufferutil.cc:7:0:
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:2754:44: note: candidate: v8::MaybeLocal<v8::Object> v8::Value::ToObject(v8::Local<v8::Context>) const
 V8_WARN_UNUSED_RESULT MaybeLocal<Object> ToObject(
                                          ^~~~~~~~
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:2754:44: note:   candidate expects 1 argument, 0 provided
../src/bufferutil.cc:69:48: error: no matching function for call to ‘v8::Value::ToObject()’
   Local<Object> mask_obj = info[1]->ToObject();
                                              ^
In file included from ../src/bufferutil.cc:7:0:
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:2754:44: note: candidate: v8::MaybeLocal<v8::Object> v8::Value::ToObject(v8::Local<v8::Context>) const
 V8_WARN_UNUSED_RESULT MaybeLocal<Object> ToObject(
                                          ^~~~~~~~
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:2754:44: note:   candidate expects 1 argument, 0 provided
../src/bufferutil.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE BufferUtil::Mask(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/bufferutil.cc:88:50: error: no matching function for call to ‘v8::Value::ToObject()’
   Local<Object> buffer_obj = info[0]->ToObject();
                                                ^
In file included from ../src/bufferutil.cc:7:0:
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:2754:44: note: candidate: v8::MaybeLocal<v8::Object> v8::Value::ToObject(v8::Local<v8::Context>) const
 V8_WARN_UNUSED_RESULT MaybeLocal<Object> ToObject(
                                          ^~~~~~~~
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:2754:44: note:   candidate expects 1 argument, 0 provided
../src/bufferutil.cc:89:48: error: no matching function for call to ‘v8::Value::ToObject()’
   Local<Object> mask_obj = info[1]->ToObject();
                                              ^
In file included from ../src/bufferutil.cc:7:0:
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:2754:44: note: candidate: v8::MaybeLocal<v8::Object> v8::Value::ToObject(v8::Local<v8::Context>) const
 V8_WARN_UNUSED_RESULT MaybeLocal<Object> ToObject(
                                          ^~~~~~~~
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:2754:44: note:   candidate expects 1 argument, 0 provided
../src/bufferutil.cc:91:50: error: no matching function for call to ‘v8::Value::ToObject()’
   Local<Object> output_obj = info[2]->ToObject();
                                                ^
In file included from ../src/bufferutil.cc:7:0:
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:2754:44: note: candidate: v8::MaybeLocal<v8::Object> v8::Value::ToObject(v8::Local<v8::Context>) const
 V8_WARN_UNUSED_RESULT MaybeLocal<Object> ToObject(
                                          ^~~~~~~~
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:2754:44: note:   candidate expects 1 argument, 0 provided
../src/bufferutil.cc:92:51: error: no matching function for call to ‘v8::Value::Int32Value()’
   unsigned int dataOffset = info[3]->Int32Value();
                                                 ^
In file included from ../src/bufferutil.cc:7:0:
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:2778:40: note: candidate: v8::Maybe<int> v8::Value::Int32Value(v8::Local<v8::Context>) const
 V8_WARN_UNUSED_RESULT Maybe<int32_t> Int32Value(Local<Context> context) const;
                                      ^~~~~~~~~~
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:2778:40: note:   candidate expects 1 argument, 0 provided
../src/bufferutil.cc:93:47: error: no matching function for call to ‘v8::Value::Int32Value()’
   unsigned int length = info[4]->Int32Value();
                                             ^
In file included from ../src/bufferutil.cc:7:0:
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:2778:40: note: candidate: v8::Maybe<int> v8::Value::Int32Value(v8::Local<v8::Context>) const
 V8_WARN_UNUSED_RESULT Maybe<int32_t> Int32Value(Local<Context> context) const;
                                      ^~~~~~~~~~
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:2778:40: note:   candidate expects 1 argument, 0 provided
../src/bufferutil.cc: At global scope:
../src/bufferutil.cc:114:12: error: variable or field ‘init’ declared void
void init (Handle<Object> target)
          ^~~~~~
../src/bufferutil.cc:114:12: error: ‘Handle’ was not declared in this scope
../src/bufferutil.cc:114:12: note: suggested alternative: ‘rand_r’
void init (Handle<Object> target)
          ^~~~~~
          rand_r
../src/bufferutil.cc:114:25: error: expected primary-expression before ‘>’ token
void init (Handle<Object> target)
                       ^
../src/bufferutil.cc:114:27: error: ‘target’ was not declared in this scope
void init (Handle<Object> target)
                         ^~~~~~
../src/bufferutil.cc:114:27: note: suggested alternative: ‘tzset’
void init (Handle<Object> target)
                         ^~~~~~
                         tzset
In file included from ../src/bufferutil.cc:8:0:
../src/bufferutil.cc:120:25: error: ‘init’ was not declared in this scope
NODE_MODULE(bufferutil, init)
                       ^
/home/user/.cache/node-gyp/13.5.0/include/node/node.h:611:36: note: in definition of macro ‘NODE_MODULE_X’
     (node::addon_register_func) (regfunc),                          \
                                  ^~~~~~~
../src/bufferutil.cc:120:1: note: in expansion of macro ‘NODE_MODULE’
NODE_MODULE(bufferutil, init)
^~~~~~~~~~~
../src/bufferutil.cc:120:25: note: suggested alternative: ‘int’
NODE_MODULE(bufferutil, init)
                       ^
/home/user/.cache/node-gyp/13.5.0/include/node/node.h:611:36: note: in definition of macro ‘NODE_MODULE_X’
     (node::addon_register_func) (regfunc),                          \
                                  ^~~~~~~
../src/bufferutil.cc:120:1: note: in expansion of macro ‘NODE_MODULE’
NODE_MODULE(bufferutil, init)
^~~~~~~~~~~
bufferutil.target.mk:110: recipe for target 'Release/obj.target/bufferutil/src/bufferutil.o' failed
make: *** [Release/obj.target/bufferutil/src/bufferutil.o] Error 1
make: Leaving directory '/home/user/Documents/explorer/node_modules/bufferutil/build'
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:194:23)
gyp ERR! stack     at ChildProcess.emit (events.js:305:20)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:275:12)
gyp ERR! System Linux 4.15.0-74-generic
gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /home/user/Documents/explorer/node_modules/bufferutil
gyp ERR! node -v v13.5.0
gyp ERR! node-gyp -v v5.0.5
gyp ERR! not ok

> [email protected] install /home/user/Documents/explorer/node_modules/utf-8-validate
> node-gyp rebuild

make: Entering directory '/home/user/Documents/explorer/node_modules/utf-8-validate/build'
CXX(target) Release/obj.target/validation/src/validation.o
In file included from ../node_modules/nan/nan.h:190:0,
               from ../src/validation.cc:15:
../node_modules/nan/nan_maybe_43_inl.h: In function ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’:
../node_modules/nan/nan_maybe_43_inl.h:88:15: error: ‘class v8::Object’ has no member named ‘ForceSet’
 return obj->ForceSet(GetCurrentContext(), key, value, attribs);
             ^~~~~~~~
In file included from ../node_modules/nan/nan_converters.h:59:0,
               from ../node_modules/nan/nan.h:195,
               from ../src/validation.cc:15:
../node_modules/nan/nan_converters_43_inl.h: In static member function ‘static Nan::imp::ToFactoryBase<v8::Boolean>::return_t Nan::imp::ToFactory<v8::Boolean>::convert(v8::Local<v8::Value>)’:
../node_modules/nan/nan_converters_43_inl.h:15:45: error: no matching function for call to ‘v8::Value::ToBoolean(v8::Local<v8::Context>)’
 return val->To ## TYPE(GetCurrentContext());                                 \
                                           ^
../node_modules/nan/nan_converters_43_inl.h:18:1: note: in expansion of macro ‘X’
X(Boolean)
^
In file included from ../src/validation.cc:7:0:
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:2762:18: note: candidate: v8::Local<v8::Boolean> v8::Value::ToBoolean(v8::Isolate*) const
 Local<Boolean> ToBoolean(Isolate* isolate) const;
                ^~~~~~~~~
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:2762:18: note:   no known conversion for argument 1 from ‘v8::Local<v8::Context>’ to ‘v8::Isolate*’
In file included from ../node_modules/nan/nan_converters.h:59:0,
               from ../node_modules/nan/nan.h:195,
               from ../src/validation.cc:15:
../node_modules/nan/nan_converters_43_inl.h: In static member function ‘static Nan::imp::ValueFactoryBase<bool>::return_t Nan::imp::ToFactory<bool>::convert(v8::Local<v8::Value>)’:
../node_modules/nan/nan_converters_43_inl.h:31:48: error: no matching function for call to ‘v8::Value::BooleanValue(v8::Local<v8::Context>)’
 return val->NAME ## Value(GetCurrentContext());                              \
                                              ^
../node_modules/nan/nan_converters_43_inl.h:34:1: note: in expansion of macro ‘X’
X(bool, Boolean)
^
In file included from ../src/validation.cc:7:0:
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:2771:8: note: candidate: bool v8::Value::BooleanValue(v8::Isolate*) const
 bool BooleanValue(Isolate* isolate) const;
      ^~~~~~~~~~~~
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:2771:8: note:   no known conversion for argument 1 from ‘v8::Local<v8::Context>’ to ‘v8::Isolate*’
In file included from ../node_modules/nan/nan_new.h:189:0,
               from ../node_modules/nan/nan.h:196,
               from ../src/validation.cc:15:
../node_modules/nan/nan_implementation_12_inl.h: In static member function ‘static Nan::imp::FactoryBase<v8::Function>::return_t Nan::imp::Factory<v8::Function>::New(Nan::FunctionCallback, v8::Local<v8::Value>)’:
../node_modules/nan/nan_implementation_12_inl.h:109:32: error: no matching function for call to ‘v8::Function::New(v8::Isolate*&, void (&)(const v8::FunctionCallbackInfo<v8::Value>&), v8::Local<v8::Object>&)’
                         , obj));
                              ^
In file included from ../src/validation.cc:7:0:
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:4312:31: note: candidate: static v8::MaybeLocal<v8::Function> v8::Function::New(v8::Local<v8::Context>, v8::FunctionCallback, v8::Local<v8::Value>, int, v8::ConstructorBehavior, v8::SideEffectType)
 static MaybeLocal<Function> New(
                             ^~~
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:4312:31: note:   no known conversion for argument 1 from ‘v8::Isolate*’ to ‘v8::Local<v8::Context>’
In file included from ../node_modules/nan/nan_new.h:189:0,
               from ../node_modules/nan/nan.h:196,
               from ../src/validation.cc:15:
../node_modules/nan/nan_implementation_12_inl.h: In static member function ‘static Nan::imp::FactoryBase<v8::StringObject>::return_t Nan::imp::Factory<v8::StringObject>::New(v8::Local<v8::String>)’:
../node_modules/nan/nan_implementation_12_inl.h:345:37: error: no matching function for call to ‘v8::StringObject::New(v8::Local<v8::String>&)’
 return v8::StringObject::New(value).As<v8::StringObject>();
                                   ^
In file included from ../src/validation.cc:7:0:
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:5688:23: note: candidate: static v8::Local<v8::Value> v8::StringObject::New(v8::Isolate*, v8::Local<v8::String>)
 static Local<Value> New(Isolate* isolate, Local<String> value);
                     ^~~
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:5688:23: note:   candidate expects 2 arguments, 1 provided
In file included from ../node_modules/nan/nan_new.h:189:0,
               from ../node_modules/nan/nan.h:196,
               from ../src/validation.cc:15:
../node_modules/nan/nan_implementation_12_inl.h:345:58: error: expected primary-expression before ‘>’ token
 return v8::StringObject::New(value).As<v8::StringObject>();
                                                        ^
../node_modules/nan/nan_implementation_12_inl.h:345:60: error: expected primary-expression before ‘)’ token
 return v8::StringObject::New(value).As<v8::StringObject>();
                                                          ^
In file included from ../src/validation.cc:15:0:
../node_modules/nan/nan.h: In function ‘v8::Local<v8::Value> Nan::MakeCallback(v8::Local<v8::Object>, v8::Local<v8::Function>, int, v8::Local<v8::Value>*)’:
../node_modules/nan/nan.h:817:60: warning: ‘v8::Local<v8::Value> node::MakeCallback(v8::Isolate*, v8::Local<v8::Object>, v8::Local<v8::Function>, int, v8::Local<v8::Value>*)’ is deprecated: Use MakeCallback(..., async_context) [-Wdeprecated-declarations]
       v8::Isolate::GetCurrent(), target, func, argc, argv);
                                                          ^
In file included from ../src/validation.cc:8:0:
/home/user/.cache/node-gyp/13.5.0/include/node/node.h:180:50: note: declared here
               NODE_EXTERN v8::Local<v8::Value> MakeCallback(
                                                ^
/home/user/.cache/node-gyp/13.5.0/include/node/node.h:99:42: note: in definition of macro ‘NODE_DEPRECATED’
   __attribute__((deprecated(message))) declarator
                                        ^~~~~~~~~~
In file included from ../src/validation.cc:15:0:
../node_modules/nan/nan.h: In function ‘v8::Local<v8::Value> Nan::MakeCallback(v8::Local<v8::Object>, v8::Local<v8::String>, int, v8::Local<v8::Value>*)’:
../node_modules/nan/nan.h:831:62: warning: ‘v8::Local<v8::Value> node::MakeCallback(v8::Isolate*, v8::Local<v8::Object>, v8::Local<v8::String>, int, v8::Local<v8::Value>*)’ is deprecated: Use MakeCallback(..., async_context) [-Wdeprecated-declarations]
       v8::Isolate::GetCurrent(), target, symbol, argc, argv);
                                                            ^
In file included from ../src/validation.cc:8:0:
/home/user/.cache/node-gyp/13.5.0/include/node/node.h:173:50: note: declared here
               NODE_EXTERN v8::Local<v8::Value> MakeCallback(
                                                ^
/home/user/.cache/node-gyp/13.5.0/include/node/node.h:99:42: note: in definition of macro ‘NODE_DEPRECATED’
   __attribute__((deprecated(message))) declarator
                                        ^~~~~~~~~~
In file included from ../src/validation.cc:15:0:
../node_modules/nan/nan.h: In function ‘v8::Local<v8::Value> Nan::MakeCallback(v8::Local<v8::Object>, const char*, int, v8::Local<v8::Value>*)’:
../node_modules/nan/nan.h:845:62: warning: ‘v8::Local<v8::Value> node::MakeCallback(v8::Isolate*, v8::Local<v8::Object>, const char*, int, v8::Local<v8::Value>*)’ is deprecated: Use MakeCallback(..., async_context) [-Wdeprecated-declarations]
       v8::Isolate::GetCurrent(), target, method, argc, argv);
                                                            ^
In file included from ../src/validation.cc:8:0:
/home/user/.cache/node-gyp/13.5.0/include/node/node.h:166:50: note: declared here
               NODE_EXTERN v8::Local<v8::Value> MakeCallback(
                                                ^
/home/user/.cache/node-gyp/13.5.0/include/node/node.h:99:42: note: in definition of macro ‘NODE_DEPRECATED’
   __attribute__((deprecated(message))) declarator
                                        ^~~~~~~~~~
In file included from ../src/validation.cc:15:0:
../node_modules/nan/nan.h: In constructor ‘Nan::Utf8String::Utf8String(v8::Local<v8::Value>)’:
../node_modules/nan/nan.h:890:53: error: no matching function for call to ‘v8::Value::ToString()’
     v8::Local<v8::String> string = from->ToString();
                                                   ^
In file included from ../src/validation.cc:7:0:
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:2750:44: note: candidate: v8::MaybeLocal<v8::String> v8::Value::ToString(v8::Local<v8::Context>) const
 V8_WARN_UNUSED_RESULT MaybeLocal<String> ToString(
                                          ^~~~~~~~
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:2750:44: note:   candidate expects 1 argument, 0 provided
In file included from ../src/validation.cc:15:0:
../node_modules/nan/nan.h:900:74: error: no matching function for call to ‘v8::String::WriteUtf8(char*&, int, int, const int&)’
       length_ = string->WriteUtf8(str_, static_cast<int>(len), 0, flags);
                                                                        ^
In file included from ../src/validation.cc:7:0:
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:2947:7: note: candidate: int v8::String::WriteUtf8(v8::Isolate*, char*, int, int*, int) const
 int WriteUtf8(Isolate* isolate, char* buffer, int length = -1,
     ^~~~~~~~~
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:2947:7: note:   no known conversion for argument 1 from ‘char*’ to ‘v8::Isolate*’
In file included from ../src/validation.cc:15:0:
../node_modules/nan/nan.h: In member function ‘v8::Local<v8::Value> Nan::Callback::Call_(v8::Isolate*, v8::Local<v8::Object>, int, v8::Local<v8::Value>*) const’:
../node_modules/nan/nan.h:1453:5: warning: ‘v8::Local<v8::Value> node::MakeCallback(v8::Isolate*, v8::Local<v8::Object>, v8::Local<v8::Function>, int, v8::Local<v8::Value>*)’ is deprecated: Use MakeCallback(..., async_context) [-Wdeprecated-declarations]
   ));
   ^
In file included from ../src/validation.cc:8:0:
/home/user/.cache/node-gyp/13.5.0/include/node/node.h:180:50: note: declared here
               NODE_EXTERN v8::Local<v8::Value> MakeCallback(
                                                ^
/home/user/.cache/node-gyp/13.5.0/include/node/node.h:99:42: note: in definition of macro ‘NODE_DEPRECATED’
   __attribute__((deprecated(message))) declarator
                                        ^~~~~~~~~~
In file included from ../src/validation.cc:15:0:
../node_modules/nan/nan.h: In member function ‘void Nan::AsyncWorker::SaveToPersistent(const char*, const v8::Local<v8::Value>&)’:
../node_modules/nan/nan.h:1507:64: error: no matching function for call to ‘v8::Object::Set(v8::Local<v8::String>, const v8::Local<v8::Value>&)’
   New(persistentHandle)->Set(New(key).ToLocalChecked(), value);
                                                              ^
In file included from ../src/validation.cc:7:0:
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:3547:37: note: candidate: v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, v8::Local<v8::Value>, v8::Local<v8::Value>)
 V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context,
                                   ^~~
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:3547:37: note:   candidate expects 3 arguments, 2 provided
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:3550:37: note: candidate: v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, uint32_t, v8::Local<v8::Value>)
 V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context, uint32_t index,
                                   ^~~
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:3550:37: note:   candidate expects 3 arguments, 2 provided
In file included from ../src/validation.cc:15:0:
../node_modules/nan/nan.h: In member function ‘void Nan::AsyncWorker::SaveToPersistent(const v8::Local<v8::String>&, const v8::Local<v8::Value>&)’:
../node_modules/nan/nan.h:1513:42: error: no matching function for call to ‘v8::Object::Set(const v8::Local<v8::String>&, const v8::Local<v8::Value>&)’
   New(persistentHandle)->Set(key, value);
                                        ^
In file included from ../src/validation.cc:7:0:
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:3547:37: note: candidate: v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, v8::Local<v8::Value>, v8::Local<v8::Value>)
 V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context,
                                   ^~~
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:3547:37: note:   candidate expects 3 arguments, 2 provided
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:3550:37: note: candidate: v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, uint32_t, v8::Local<v8::Value>)
 V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context, uint32_t index,
                                   ^~~
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:3550:37: note:   candidate expects 3 arguments, 2 provided
In file included from ../src/validation.cc:15:0:
../node_modules/nan/nan.h: In member function ‘void Nan::AsyncWorker::SaveToPersistent(uint32_t, const v8::Local<v8::Value>&)’:
../node_modules/nan/nan.h:1519:44: error: no matching function for call to ‘v8::Object::Set(uint32_t&, const v8::Local<v8::Value>&)’
   New(persistentHandle)->Set(index, value);
                                          ^
In file included from ../src/validation.cc:7:0:
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:3547:37: note: candidate: v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, v8::Local<v8::Value>, v8::Local<v8::Value>)
 V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context,
                                   ^~~
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:3547:37: note:   candidate expects 3 arguments, 2 provided
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:3550:37: note: candidate: v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, uint32_t, v8::Local<v8::Value>)
 V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context, uint32_t index,
                                   ^~~
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:3550:37: note:   candidate expects 3 arguments, 2 provided
In file included from ../src/validation.cc:15:0:
../node_modules/nan/nan.h: In member function ‘v8::Local<v8::Value> Nan::AsyncWorker::GetFromPersistent(const char*) const’:
../node_modules/nan/nan.h:1525:61: error: no matching function for call to ‘v8::Object::Get(v8::Local<v8::String>)’
       New(persistentHandle)->Get(New(key).ToLocalChecked()));
                                                           ^
In file included from ../src/validation.cc:7:0:
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:3594:43: note: candidate: v8::MaybeLocal<v8::Value> v8::Object::Get(v8::Local<v8::Context>, v8::Local<v8::Value>)
 V8_WARN_UNUSED_RESULT MaybeLocal<Value> Get(Local<Context> context,
                                         ^~~
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:3594:43: note:   candidate expects 2 arguments, 1 provided
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:3597:43: note: candidate: v8::MaybeLocal<v8::Value> v8::Object::Get(v8::Local<v8::Context>, uint32_t)
 V8_WARN_UNUSED_RESULT MaybeLocal<Value> Get(Local<Context> context,
                                         ^~~
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:3597:43: note:   candidate expects 2 arguments, 1 provided
In file included from ../src/validation.cc:15:0:
../node_modules/nan/nan.h: In member function ‘v8::Local<v8::Value> Nan::AsyncWorker::GetFromPersistent(const v8::Local<v8::String>&) const’:
../node_modules/nan/nan.h:1531:55: error: no matching function for call to ‘v8::Object::Get(const v8::Local<v8::String>&)’
   return scope.Escape(New(persistentHandle)->Get(key));
                                                     ^
In file included from ../src/validation.cc:7:0:
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:3594:43: note: candidate: v8::MaybeLocal<v8::Value> v8::Object::Get(v8::Local<v8::Context>, v8::Local<v8::Value>)
 V8_WARN_UNUSED_RESULT MaybeLocal<Value> Get(Local<Context> context,
                                         ^~~
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:3594:43: note:   candidate expects 2 arguments, 1 provided
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:3597:43: note: candidate: v8::MaybeLocal<v8::Value> v8::Object::Get(v8::Local<v8::Context>, uint32_t)
 V8_WARN_UNUSED_RESULT MaybeLocal<Value> Get(Local<Context> context,
                                         ^~~
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:3597:43: note:   candidate expects 2 arguments, 1 provided
In file included from ../src/validation.cc:15:0:
../node_modules/nan/nan.h: In member function ‘v8::Local<v8::Value> Nan::AsyncWorker::GetFromPersistent(uint32_t) const’:
../node_modules/nan/nan.h:1536:57: error: no matching function for call to ‘v8::Object::Get(uint32_t&)’
   return scope.Escape(New(persistentHandle)->Get(index));
                                                       ^
In file included from ../src/validation.cc:7:0:
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:3594:43: note: candidate: v8::MaybeLocal<v8::Value> v8::Object::Get(v8::Local<v8::Context>, v8::Local<v8::Value>)
 V8_WARN_UNUSED_RESULT MaybeLocal<Value> Get(Local<Context> context,
                                         ^~~
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:3594:43: note:   candidate expects 2 arguments, 1 provided
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:3597:43: note: candidate: v8::MaybeLocal<v8::Value> v8::Object::Get(v8::Local<v8::Context>, uint32_t)
 V8_WARN_UNUSED_RESULT MaybeLocal<Value> Get(Local<Context> context,
                                         ^~~
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:3597:43: note:   candidate expects 2 arguments, 1 provided
In file included from /usr/include/c++/7/cassert:44:0,
               from /home/user/.cache/node-gyp/13.5.0/include/node/node_object_wrap.h:26,
               from ../src/validation.cc:11:
../node_modules/nan/nan_object_wrap.h: In destructor ‘virtual Nan::ObjectWrap::~ObjectWrap()’:
../node_modules/nan/nan_object_wrap.h:24:25: error: ‘class Nan::Persistent<v8::Object>’ has no member named ‘IsNearDeath’
   assert(persistent().IsNearDeath());
                       ^
In file included from ../node_modules/nan/nan.h:2190:0,
               from ../src/validation.cc:15:
../node_modules/nan/nan_object_wrap.h: In member function ‘void Nan::ObjectWrap::MakeWeak()’:
../node_modules/nan/nan_object_wrap.h:67:18: error: ‘class Nan::Persistent<v8::Object>’ has no member named ‘MarkIndependent’
   persistent().MarkIndependent();
                ^~~~~~~~~~~~~~~
In file included from /usr/include/c++/7/cassert:44:0,
               from /home/user/.cache/node-gyp/13.5.0/include/node/node_object_wrap.h:26,
               from ../src/validation.cc:11:
../node_modules/nan/nan_object_wrap.h: In static member function ‘static void Nan::ObjectWrap::WeakCallback(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)’:
../node_modules/nan/nan_object_wrap.h:124:26: error: ‘class Nan::Persistent<v8::Object>’ has no member named ‘IsNearDeath’
   assert(wrap->handle_.IsNearDeath());
                        ^
../src/validation.cc: At global scope:
../src/validation.cc:106:30: error: ‘v8::Handle’ has not been declared
 static void Initialize(v8::Handle<v8::Object> target)
                            ^~~~~~
../src/validation.cc:106:36: error: expected ‘,’ or ‘...’ before ‘<’ token
 static void Initialize(v8::Handle<v8::Object> target)
                                  ^
../src/validation.cc: In static member function ‘static void Validation::Initialize(int)’:
../src/validation.cc:112:14: error: ‘target’ was not declared in this scope
   Nan::Set(target, Nan::New<String>("Validation").ToLocalChecked(), t->GetFunction());
            ^~~~~~
../src/validation.cc:112:14: note: suggested alternative: ‘tzset’
   Nan::Set(target, Nan::New<String>("Validation").ToLocalChecked(), t->GetFunction());
            ^~~~~~
            tzset
../src/validation.cc:112:86: error: no matching function for call to ‘v8::FunctionTemplate::GetFunction()’
Set(target, Nan::New<String>("Validation").ToLocalChecked(), t->GetFunction());
                                                                           ^
In file included from ../src/validation.cc:7:0:
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:6283:46: note: candidate: v8::MaybeLocal<v8::Function> v8::FunctionTemplate::GetFunction(v8::Local<v8::Context>)
 V8_WARN_UNUSED_RESULT MaybeLocal<Function> GetFunction(
                                            ^~~~~~~~~~~
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:6283:46: note:   candidate expects 1 argument, 0 provided
../src/validation.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE Validation::IsValidUTF8(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/validation.cc:131:50: error: no matching function for call to ‘v8::Value::ToObject()’
   Local<Object> buffer_obj = info[0]->ToObject();
                                                ^
In file included from ../src/validation.cc:7:0:
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:2754:44: note: candidate: v8::MaybeLocal<v8::Object> v8::Value::ToObject(v8::Local<v8::Context>) const
 V8_WARN_UNUSED_RESULT MaybeLocal<Object> ToObject(
                                          ^~~~~~~~
/home/user/.cache/node-gyp/13.5.0/include/node/v8.h:2754:44: note:   candidate expects 1 argument, 0 provided
../src/validation.cc: At global scope:
../src/validation.cc:140:12: error: variable or field ‘init’ declared void
void init (Handle<Object> target)
          ^~~~~~
../src/validation.cc:140:12: error: ‘Handle’ was not declared in this scope
../src/validation.cc:140:12: note: suggested alternative: ‘rand_r’
void init (Handle<Object> target)
          ^~~~~~
          rand_r
../src/validation.cc:140:25: error: expected primary-expression before ‘>’ token
void init (Handle<Object> target)
                       ^
../src/validation.cc:140:27: error: ‘target’ was not declared in this scope
void init (Handle<Object> target)
                         ^~~~~~
../src/validation.cc:140:27: note: suggested alternative: ‘tzset’
void init (Handle<Object> target)
                         ^~~~~~
                         tzset
In file included from ../src/validation.cc:8:0:
../src/validation.cc:146:25: error: ‘init’ was not declared in this scope
NODE_MODULE(validation, init)
                       ^
/home/user/.cache/node-gyp/13.5.0/include/node/node.h:611:36: note: in definition of macro ‘NODE_MODULE_X’
     (node::addon_register_func) (regfunc),                          \
                                  ^~~~~~~
../src/validation.cc:146:1: note: in expansion of macro ‘NODE_MODULE’
NODE_MODULE(validation, init)
^~~~~~~~~~~
../src/validation.cc:146:25: note: suggested alternative: ‘int’
NODE_MODULE(validation, init)
                       ^
/home/user/.cache/node-gyp/13.5.0/include/node/node.h:611:36: note: in definition of macro ‘NODE_MODULE_X’
     (node::addon_register_func) (regfunc),                          \
                                  ^~~~~~~
../src/validation.cc:146:1: note: in expansion of macro ‘NODE_MODULE’
NODE_MODULE(validation, init)
^~~~~~~~~~~
../src/validation.cc: In function ‘int is_valid_utf8(size_t, char*)’:
../src/validation.cc:81:47: warning: this statement may fall through [-Wimplicit-fallthrough=]
     case 5 : ch += (uint8_t) value[i++]; ch <<= 6;
                                          ~~~^~~~~
../src/validation.cc:82:7: note: here
     case 4 : ch += (uint8_t) value[i++]; ch <<= 6;
     ^~~~
../src/validation.cc:82:47: warning: this statement may fall through [-Wimplicit-fallthrough=]
     case 4 : ch += (uint8_t) value[i++]; ch <<= 6;
                                          ~~~^~~~~
../src/validation.cc:83:7: note: here
     case 3 : ch += (uint8_t) value[i++]; ch <<= 6;
     ^~~~
../src/validation.cc:83:47: warning: this statement may fall through [-Wimplicit-fallthrough=]
     case 3 : ch += (uint8_t) value[i++]; ch <<= 6;
                                          ~~~^~~~~
../src/validation.cc:84:7: note: here
     case 2 : ch += (uint8_t) value[i++]; ch <<= 6;
     ^~~~
../src/validation.cc:84:47: warning: this statement may fall through [-Wimplicit-fallthrough=]
     case 2 : ch += (uint8_t) value[i++]; ch <<= 6;
                                          ~~~^~~~~
../src/validation.cc:85:7: note: here
     case 1 : ch += (uint8_t) value[i++]; ch <<= 6;
     ^~~~
../src/validation.cc:85:47: warning: this statement may fall through [-Wimplicit-fallthrough=]
     case 1 : ch += (uint8_t) value[i++]; ch <<= 6;
                                          ~~~^~~~~
../src/validation.cc:86:7: note: here
     case 0 : ch += (uint8_t) value[i];
     ^~~~
../src/validation.cc: In function ‘int isLegalUTF8(const uint8_t*, int)’:
../src/validation.cc:51:13: warning: this statement may fall through [-Wimplicit-fallthrough=]
   case 4: if ((a = (*--srcptr)) < 0x80 || a > 0xBF) return 0;
           ^~
../src/validation.cc:52:5: note: here
   case 3: if ((a = (*--srcptr)) < 0x80 || a > 0xBF) return 0;
   ^~~~
../src/validation.cc:52:13: warning: this statement may fall through [-Wimplicit-fallthrough=]
   case 3: if ((a = (*--srcptr)) < 0x80 || a > 0xBF) return 0;
           ^~
../src/validation.cc:53:5: note: here
   case 2: if ((a = (*--srcptr)) < 0x80 || a > 0xBF) return 0;
   ^~~~
../src/validation.cc:59:20: warning: this statement may fall through [-Wimplicit-fallthrough=]
       case 0xF4: if (a > 0x8F) return 0;
                  ^~
../src/validation.cc:62:5: note: here
   case 1: if (*source >= 0x80 && *source < 0xC2) return 0;
   ^~~~
validation.target.mk:110: recipe for target 'Release/obj.target/validation/src/validation.o' failed
make: *** [Release/obj.target/validation/src/validation.o] Error 1
make: Leaving directory '/home/user/Documents/explorer/node_modules/utf-8-validate/build'
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:194:23)
gyp ERR! stack     at ChildProcess.emit (events.js:305:20)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:275:12)
gyp ERR! System Linux 4.15.0-74-generic
gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /home/user/Documents/explorer/node_modules/utf-8-validate
gyp ERR! node -v v13.5.0
gyp ERR! node-gyp -v v5.0.5
gyp ERR! not ok
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/bufferutil):
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] install: `node-gyp rebuild`
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Exit status 1
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/utf-8-validate):
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] install: `node-gyp rebuild`
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Exit status 1

up to date in 14.32s

25 packages are looking for funding
run `npm fund` for details

fixed 0 of 48 vulnerabilities in 1681 scanned packages
10 vulnerabilities required manual review and could not be updated
2 package updates for 38 vulnerabilities involved breaking changes
(use `npm audit fix --force` to install breaking changes; or refer to `npm audit` for steps to fix these manually)
npm audit fix --force
user@vm:~/Documents/explorer$ npm audit fix --force
npm WARN using --force I sure hope you know what you are doing.
+ [email protected]
+ [email protected]
added 154 packages from 101 contributors, removed 325 packages and updated 75 packages in 68.842s

5 packages are looking for funding
run `npm fund` for details

fixed 38 of 48 vulnerabilities in 1681 scanned packages
10 vulnerabilities required manual review and could not be updated
2 package updates for 38 vulnerabilities involved breaking changes
(installed due to `--force` option)
npm start
user@vm:~/Documents/explorer$ npm start

> [email protected] prestart /home/user/Documents/explorer
> npm install


> [email protected] postinstall /home/user/Documents/explorer
> bower install

audited 528 packages in 6.321s

5 packages are looking for funding
run `npm fund` for details

found 0 vulnerabilities


> [email protected] start /home/user/Documents/explorer
> http-server ./app -a localhost -p 8000 -c-1

Starting up http-server, serving ./app
Available on:
http://localhost:8000
Hit CTRL-C to stop the server
[2020-01-07T17:30:48.658Z]  "GET /" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:71.0) Gecko/20100101 Firefox/71.0"
(node:8586) [DEP0066] DeprecationWarning: OutgoingMessage.prototype._headers is deprecated
[2020-01-07T17:30:48.836Z]  "GET /styles/main.css" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:71.0) Gecko/20100101 Firefox/71.0"
[2020-01-07T17:30:48.846Z]  "GET /bower_components/web3/dist/web3.min.js" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:71.0) Gecko/20100101 Firefox/71.0"
[2020-01-07T17:30:48.874Z]  "GET /bower_components/angular-bootstrap/ui-bootstrap.min.js" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:71.0) Gecko/20100101 Firefox/71.0"
[2020-01-07T17:30:48.885Z]  "GET /bower_components/angular-route/angular-route.js" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:71.0) Gecko/20100101 Firefox/71.0"
[2020-01-07T17:30:48.891Z]  "GET /app.js" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:71.0) Gecko/20100101 Firefox/71.0"
[2020-01-07T17:30:48.895Z]  "GET /scripts/controllers/mainController.js" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:71.0) Gecko/20100101 Firefox/71.0"
[2020-01-07T17:30:48.896Z]  "GET /scripts/controllers/addressInfoController.js" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:71.0) Gecko/20100101 Firefox/71.0"
[2020-01-07T17:30:48.900Z]  "GET /scripts/controllers/blockInfosController.js" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:71.0) Gecko/20100101 Firefox/71.0"
[2020-01-07T17:30:48.905Z]  "GET /scripts/controllers/transactionInfosController.js" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:71.0) Gecko/20100101 Firefox/71.0"
[2020-01-07T17:30:49.754Z]  "GET /views/main.html" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:71.0) Gecko/20100101 Firefox/71.0"
[2020-01-07T17:31:44.421Z]  "GET /" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:71.0) Gecko/20100101 Firefox/71.0"
[2020-01-07T17:31:44.573Z]  "GET /styles/main.css" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:71.0) Gecko/20100101 Firefox/71.0"
[2020-01-07T17:31:44.601Z]  "GET /bower_components/web3/dist/web3.min.js" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:71.0) Gecko/20100101 Firefox/71.0"
[2020-01-07T17:31:44.610Z]  "GET /bower_components/angular-bootstrap/ui-bootstrap.min.js" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:71.0) Gecko/20100101 Firefox/71.0"
[2020-01-07T17:31:44.616Z]  "GET /bower_components/angular-route/angular-route.js" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:71.0) Gecko/20100101 Firefox/71.0"
[2020-01-07T17:31:44.621Z]  "GET /app.js" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:71.0) Gecko/20100101 Firefox/71.0"
[2020-01-07T17:31:44.626Z]  "GET /scripts/controllers/mainController.js" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:71.0) Gecko/20100101 Firefox/71.0"
[2020-01-07T17:31:44.631Z]  "GET /scripts/controllers/addressInfoController.js" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:71.0) Gecko/20100101 Firefox/71.0"
[2020-01-07T17:31:44.639Z]  "GET /scripts/controllers/blockInfosController.js" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:71.0) Gecko/20100101 Firefox/71.0"
[2020-01-07T17:31:44.644Z]  "GET /scripts/controllers/transactionInfosController.js" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:71.0) Gecko/20100101 Firefox/71.0"
[2020-01-07T17:31:45.343Z]  "GET /views/main.html" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:71.0) Gecko/20100101 Firefox/71.0"
[2020-01-07T17:32:12.807Z]  "GET /views/blockInfos.html" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:71.0) Gecko/20100101 Firefox/71.0"
[2020-01-07T17:38:53.114Z]  "GET /" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:71.0) Gecko/20100101 Firefox/71.0"
[2020-01-07T17:38:59.919Z]  "GET /styles/main.css" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:71.0) Gecko/20100101 Firefox/71.0"
[2020-01-07T17:38:59.937Z]  "GET /bower_components/web3/dist/web3.min.js" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:71.0) Gecko/20100101 Firefox/71.0"
[2020-01-07T17:39:00.035Z]  "GET /bower_components/angular-route/angular-route.js" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:71.0) Gecko/20100101 Firefox/71.0"
[2020-01-07T17:39:01.572Z]  "GET /bower_components/angular-bootstrap/ui-bootstrap.min.js" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:71.0) Gecko/20100101 Firefox/71.0"
[2020-01-07T17:39:01.575Z]  "GET /app.js" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:71.0) Gecko/20100101 Firefox/71.0"
[2020-01-07T17:39:01.587Z]  "GET /scripts/controllers/mainController.js" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:71.0) Gecko/20100101 Firefox/71.0"
[2020-01-07T17:39:01.629Z]  "GET /scripts/controllers/addressInfoController.js" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:71.0) Gecko/20100101 Firefox/71.0"
[2020-01-07T17:39:02.874Z]  "GET /scripts/controllers/blockInfosController.js" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:71.0) Gecko/20100101 Firefox/71.0"
[2020-01-07T17:39:02.878Z]  "GET /scripts/controllers/transactionInfosController.js" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:71.0) Gecko/20100101 Firefox/71.0"
[2020-01-07T17:39:10.510Z]  "GET /views/main.html" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:71.0) Gecko/20100101 Firefox/71.0"

Error message not going away

I want to use this explorer at my private dev network. However, I'm not able to get rid of the error message

geth --rpc --rpccorsdomain "http://localhost:8000"

Do I have any geth argument which might prevent this explorer to connect?

./geth --identity "DevNode" --genesis ~/git/eth/dev/custom_genesis.json --rpc --rpcport "8102" --rpccorsdomain "http://localhost:8000" --datadir "~/git/eth/data/" --port "30301" --nodiscover --ipcapi "admin,db,eth,debug,miner,net,shh,txpool,personal,web3" --rpcapi "db,eth,net,web3" --autodag --networkid 7682878 --nat "any" --dev --ipcpath "~/.ethereum/geth.ipc" --mine --minerthreads=1 --unlock 0x69B7900537449e862c19aAF1D08b648e76629EBa console

Kind regards,
haggins

Add AddressInfo?

Any ideas on how to add AddressInfo in? This is what I have so far:

angular.module('ethExplorer')
    .controller('addressInfosCtrl', function ($rootScope, $scope, $location) {

        $scope.init=function()
        {


            $scope.addressId=$routeParams.addressId;

            if($scope.addressId!==undefined) {
                getAddressInfos()
                    .then(function(result) {
                        var wallet = web3.fromWei(eth.getBalance("addressId"), "ether");
                        $scope.result = result;

                    })

            }
        }

    });

Running in pm2/forever

It is not possible to run this app in pm2 or forever. It seems to be constantly restarting or exiting because of several uncaught errors.
Does someone know how to run this app without having to have the terminal open all the time?

Thanks in advance!

Private blockchain?

Hello,
Does this explorer run on private ethereum networks?
I tried to run it but i cannot see any tx,address on it (blank page)

can I use to allow anyone explore my own testnet chain?

Maybe I'm misunderstanding something, but it seems that opening the RPC to all the internet is not such a good idea... can I use etherparty to allow anyone to browse my own testnet? Or do I need a different software for that...?

TypeError('The header content contains invalid characters')

[email protected] start F:\explorer
http-server ./app -a localhost -p 8000 -c-1

Starting up http-server, serving ./app on port: 8000
Hit CTRL-C to stop the server
[Tue, 18 Sep 2018 03:53:15 GMT] "GET /" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36"
_http_outgoing.js:497
throw new TypeError('The header content contains invalid characters');
^

TypeError: The header content contains invalid characters
at validateHeader (_http_outgoing.js:497:11)
at ServerResponse.setHeader (_http_outgoing.js:501:3)
at module.exports.ResponseStream.(anonymous function) [as setHeader] (F:\explorer\node_modules\union\lib\response-stream.js:86:34)
at serve (F:\explorer\node_modules\ecstatic\lib\ecstatic.js:146:11)
at F:\explorer\node_modules\ecstatic\lib\ecstatic.js:139:9
at FSReqWrap.oncomplete (fs.js:153:5)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] start: http-server ./app -a localhost -p 8000 -c-1
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:

On URL reload gives 404 error

Hello @ALL

application is working fine on click but when i try to reload any url it's giving me error of 404.

After removing # from route it's like so. below is my code for removing # url .

$locationProvider.html5Mode({ enabled: true, requireBase: false });

Please help me out from this ASAP.

Thank You

Error: Allow Access to Geth and Refresh the Page

The server starts and is viewable at port 8000, but there is an error message saying:

Allow Access to Geth and Refresh the Page

I have tried several invocations of geth, including this one:

geth --dev --datadir "<path/to/dir>" --networkid --rpc --rpcaddr localhost --rpcport 8545 --rpcapi "web3,eth" --rpccorsdomain "http://localhost:8000"

I am fairly new to ethereum so this might simply be a silly user error. But regardless, it's still a "bug" in that the error message isn't specific enough to debug. What form of "access" is missing, specifically.

Note that I can see geth at port 8545.

tx display issue

Hi,

Thanks for creating the explorer, it's very useful while working with testrpc. I haven't found any competitors to this package.

Want to point to the minor bug we have, whenever I want to search for the transaction, for example:
0x1bb91a7f0c59d4a0f1193bb8cb7bf0b3d9aabe147c075367986165545052b3f8

I put it to the search field, but the 0x part of the transaction is cut out and nothing is shown.
image

However, in case I place full transaction hash in the url, the explorer would successfully find it:
image

Would be very cool if you apply a fix for that :)

Regards,

Implement lazy loading

If the explorer is communicating with a remote node, it can take a really long time for the front page to load as there are multiple requests for each block.

It would be really great if the page was populated as the data came in instead of waiting for all of it.

Make Blocks display realtime

I am interested in this project. Can we make blocks display real time. For example if new blocks is created in blockchain, it gets pushed on top. How can use socket or any such thing here. I was making same project myself and I am facing with this challenge. Any suggestions will be greatly apriciated.

npm WARN [email protected]: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue

after git clone of explorer, inside the powershell with admin priv,
I'm getting warnings with errors(gyp ERRs regarding bufferutil/utf-8-validate), plz help.

PS D:\work\explorer> npm start

[email protected] prestart D:\work\explorer
npm install

npm WARN deprecated [email protected]: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
npm WARN deprecated [email protected]: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
npm WARN deprecated [email protected]: use uuid module instead

[email protected] install D:\work\explorer\node_modules\bufferutil
node-gyp rebuild

Explorer not loading properly/showing blockchain

Running on Linux, with Firefox.

I'm currently syncing, ran npm start, open web page to "localhost:8000" and this is what it shows. It just got done syncing block #2469264. Searching for that block or any previous block returns the same empty page.

image

How can I use the explorer if geth is inside a container?

I'm trying to use the explorer for a geth light node behind a container. I try to add the --rpccorsdomain "http://0.0.0.0:8000" param to the entrypoint of the container, but how can this have an effect on the host side of the container?

Information about peers

Is there a way we can extend this code to show the details of the peers that we are having in our private network

What should i do if i want to watch this page from other computers in a same local area network

sorry ,my English is not good.
I changed "localhost" to "0.0.0.0" in the file explorer/package.json
and change ' --rpccorsdomain "localhost:8000" ' to '--rpccorsdomain "http://192.168.1.105:8000"'.
"192.168.1.105" is ip of the computer which running geth
When i input "192.168.1.105:8000" on the computer which running geth , it is done,
but if i input "192.168.1.105:8000" on another ,it return "allow access to geth and refresh the page"
so , what should i do if i want successful watch this page from other computers?

The explorer cannot be deployed at AWS.

The explorer works fine in my local machine. However, the explorer cannot work in my AWS machine.
The IP address of AWS machine is 10.10.78.X, but the machine's public IP is 52.40.25.X. It seems due to some "IP:port forwarding mechanism" I think. Is it possible to run the explorer in AWS machine? How? Thanks.

can't run up with external IP

When trying to install it on a VPS, and expose 0.0.0.0 to external access, geth configuration can't communicate with web server. So it forever it popup message like
"geth --rpc --rpccorsdomain "http://104.198.101.250:8000"

How to configure if it's for public web access? maybe very simple, but I didn't get it through even after changes.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.