tintinweb/solidity-shell

first steps

Closed this issue · 5 comments

ackvf commented

Hi, I am new to solidity and I am looking for a way how to quickly test snippets of solidity code, much like I am using dev tools in a browser. I heard yours is a good solution.

I just tried to install your package and I get this error with ganache-mgr. Do you know what might be the problem?

C:\Users\Qwerty>npm i solidity-shell -g
npm WARN deprecated mkdirp-promise@5.0.1: This package is broken and no longer maintained. 'mkdirp' itself supports promises now, please switch to that.
npm WARN deprecated har-validator@5.1.5: this library is no longer supported
npm WARN deprecated multibase@0.6.1: This module has been superseded by the multiformats module
npm WARN deprecated multibase@0.7.0: This module has been superseded by the multiformats module
npm WARN deprecated multicodec@1.0.4: This module has been superseded by the multiformats module
npm WARN deprecated multicodec@0.5.7: This module has been superseded by the multiformats module
npm WARN deprecated uuid@3.3.2: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
npm WARN deprecated uuid@3.4.0: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
npm WARN deprecated cids@0.7.5: This module has been superseded by the multiformats module
npm WARN deprecated core-js@2.6.12: core-js@<3.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Please, upgrade your dependencies to the actual version of core-js.

added 426 packages, and audited 428 packages in 1m

3 vulnerabilities (2 high, 1 critical)

Some issues need review, and may require choosing
a different dependency.

Run `npm audit` for details.

C:\Users\Qwerty>solidity-shell

🚀 Entering interactive Solidity ^0.8.7 shell. '.help' and '.exit' are your friends.
 »  ℹ️  ganache-mgr: starting temp. ganache instance ...
 »
💀  ganache-mgr: stopping temp. ganache instance


events.js:353
      throw er; // Unhandled 'error' event
      ^

Error: spawn ganache-cli ENOENT
    at Process.ChildProcess._handle.onexit (internal/child_process.js:269:19)
    at onErrorNT (internal/child_process.js:467:16)
    at processTicksAndRejections (internal/process/task_queues.js:82:21)
Emitted 'error' event on ChildProcess instance at:
    at Process.ChildProcess._handle.onexit (internal/child_process.js:275:12)
    at onErrorNT (internal/child_process.js:467:16)
    at processTicksAndRejections (internal/process/task_queues.js:82:21) {
  errno: -4058,
  code: 'ENOENT',
  syscall: 'spawn ganache-cli',
  path: 'ganache-cli',
  spawnargs: []
}

C:\Users\Qwerty>npm -v
7.24.2

C:\Users\Qwerty>node -v
v14.17.0

oh, fellow windows user :) can you make ganache-cli available in your shell? npm install -g ganache-cli should do the trick, hopefully :)

@ackvf

Hey @tintinweb ! I am getting the same error in Windows 10 x64 after running npm install -g ganache-cli. Any ideas?

Windows sucks!

@jbmlaird open cmd and type ganche-cli. does it start up ganache? make sure ganache-cli is in the PATH.

and I probably have to make sure it shouldn't throw on ENOENT as you cannot change the path to ganache-cli otherwise 🤔

ackvf commented

I installed ganache-cli manually and run it. This is what I get now.

C:\Users\Qwerty>ganache-cli
'ganache-cli' is not recognized as an internal or external command,
operable program or batch file.

C:\Users\Qwerty>npm i -g ganache-cli
npm WARN deprecated ganache-cli@6.12.2: ganache-cli is now ganache; visit https://trfl.io/g7 for details

added 1 package, and audited 6 packages in 6s

found 0 vulnerabilities

C:\Users\Qwerty>ganache-cli
Ganache CLI v6.12.2 (ganache-core: 2.13.2)

Available Accounts
==================
(0) 0xE29899Ad4964CDbb732E73A47c93748F1ee2409e (100 ETH)
(1) 0xbf54F89d4A90c11FD2374B079c9D045aB6F627Ad (100 ETH)
(2) 0x1baCedB929b625ef4507A24f36750A083A56874c (100 ETH)
(3) 0x515F880d8927020d11EE2DD022D70a1C08DdB45C (100 ETH)
(4) 0x1aDE76aAF8dfE25a145b0cd74Fe852C00a39E06f (100 ETH)
(5) 0xd22D970013244Ab0F2210e4c0B423535FC193eD0 (100 ETH)
(6) 0xa5A35193A7384Bd1d392615Ea3BF1B60b06ad6D9 (100 ETH)
(7) 0x43044e14aE1Be9ADf525512a6270658Dc3988AeB (100 ETH)
(8) 0x4fBbA421FA839399773A52bc33De8606246d462f (100 ETH)
(9) 0xb4616fEc8E60d793Adbdb3bE624CbcB0A495232a (100 ETH)

Private Keys
==================
(0) 0x8633b5c010f05a50382b8...
(1) ...
...

HD Wallet
==================
Mnemonic:      ... where leopard poem ...
Base HD Path:  m/44'/60'/0'/0/{account_index}

Gas Price
==================
20000000000

Gas Limit
==================
6721975

Call Gas Limit
==================
9007199254740991

Listening on 127.0.0.1:8545


C:\Users\Qwerty>npm i solidity-shell -g
npm WARN deprecated mkdirp-promise@5.0.1: This package is broken and no longer maintained. 'mkdirp' itself supports promises now, please switch to that.
npm WARN deprecated har-validator@5.1.5: this library is no longer supported
npm WARN deprecated multicodec@1.0.4: This module has been superseded by the multiformats module
npm WARN deprecated uuid@3.4.0: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
npm WARN deprecated multibase@0.6.1: This module has been superseded by the multiformats module
npm WARN deprecated multibase@0.7.0: This module has been superseded by the multiformats module
npm WARN deprecated uuid@3.3.2: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
npm WARN deprecated multicodec@0.5.7: This module has been superseded by the multiformats module
npm WARN deprecated cids@0.7.5: This module has been superseded by the multiformats module
npm WARN deprecated core-js@2.6.12: core-js@<3.4 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Please, upgrade your dependencies to the actual version of core-js.

added 446 packages, and audited 448 packages in 27s

3 vulnerabilities (2 high, 1 critical)

Some issues need review, and may require choosing
a different dependency.

Run `npm audit` for details.

C:\Users\Qwerty>solidity-shell

🚀 Entering interactive Solidity ^0.8.11 shell. '.help' and '.exit' are your friends.
 »  ℹ️  ganache-mgr: starting temp. ganache instance ...
 »

 🧨 Unable to launch blockchain serivce: ➜ ℹ️  Error: spawn ganache-cli ENOENT

    Please verify that 'ganache-cli' (or similar service) is installed and available in your PATH.
    Otherwise, you can disable autostart by setting 'autostartGanache' to false in your settings or configure a different service and '.restartblockchain'.