【Solidity】本地安裝Solidity並執行開發環境
阿新 • • 發佈:2019-02-13
本地環境
xiaoyu@LIXIAOYUdeMBP.com➤ npm -v
5.3.0
❖ ~ [17:45:03]
xiaoyu@LIXIAOYUdeMBP.com➤ node -v
v8.4.0
安裝
我們選擇最簡單的npm安裝的方式,在這裡加上-g
進行全域性安裝。
xiaoyu@LIXIAOYUdeMBP.com➤ npm install -g solc
npm ERR! code EINTEGRITY
npm ERR! sha1-gJpbElfHwgDhGoQbN36uwnRphTk= integrity checksum failed when using sha1 : wanted sha1-gJpbElfHwgDhGoQbN36uwnRphTk= but got sha1-p9IJ5VtXbNZJAi3mbGYWX3srvTg=. (685522 bytes)
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/xiaoyu/.npm/_logs/2017-08-28T09_51_14_676Z-debug.log
報錯了。。。。
再來一次。。。。
xiaoyu@LIXIAOYUdeMBP.com➤ npm install -g solc
/usr/local/bin/solcjs -> /usr/local /lib/node_modules/solc/solcjs
+ solc@0.4.16
added 65 packages in 39.97s
成功了,並且得到當前的版本號為0.4.16
[email protected]➤ solcjs --help
Usage: /usr/local/bin/solcjs [options] [input_file...]
選項:
--version 顯示版本號 [布林]
--optimize Enable bytecode optimizer. [布林]
--bin Binary of the contracts in hex. [布林]
--abi ABI of the contracts. [布林]
--standard-json Turn on Standard JSON Input / Output mode. [布林]
--output-dir, -o Output directory for the contracts. [字串]
--help 顯示幫助資訊 [布林]
IDE
Remix是一個線上的IDE,來實現對Solidity的程式碼編寫和執行。
關聯到本地環境
點選左上角的第三個圖示,將IDE連線到本地的執行環境。
此功能允許與Remix的檔案系統進行互動。 連線完成後,共享資料夾將在本地主機下的檔案瀏覽器中可用
Remixd必須首先在本地計算機上執行。 有關詳細資訊,請參閱http://remix.readthedocs.io/en/latest/tutorial_remixd_filesystem.html。
接受此對話方塊將啟動https://remix.ethereum.org/和本地檔案系統之間的會話ws://127.0.0.1:65520
請確保您的系統足夠安全(埠65520既不開啟也不轉發)。
將更新連線狀態。
此功能仍然是alpha,我們建議保留共享資料夾的副本。
下面安裝remixd
[email protected].com➤ npm install -g remixd
/usr/local/bin/remixd -> /usr/local/lib/node_modules/remixd/src/main.js
> websocket@1.0.24 install /usr/local/lib/node_modules/remixd/node_modules/websocket
> (node-gyp rebuild 2> builderror.log) || (exit 0)
CXX(target) Release/obj.target/bufferutil/src/bufferutil.o
SOLINK_MODULE(target) Release/bufferutil.node
CXX(target) Release/obj.target/validation/src/validation.o
SOLINK_MODULE(target) Release/validation.node
+ remixd@0.1.2
added 18 packages in 18.37s
如何使用
然後
remixd -S <專案的絕對路徑>
將啟動Remixd並共享給定的資料夾。
使用Remix IDE和Remixd之間的Websocket連線來共享該資料夾。
確保執行Remix的使用者對該資料夾具有讀/寫許可權。Remixd可以為可以訪問本地主機上的TCP埠65520的任何應用程式提供對給定資料夾的完全讀寫訪問許可權
下載demo執行
[email protected]➤ git clone https://github.com/ethereum/browser-solidity
Cloning into 'browser-solidity'...
remote: Counting objects: 118711, done.
remote: Compressing objects: 100% (85/85), done.
remote: Total 118711 (delta 86), reused 95 (delta 59), pack-reused 118565
Receiving objects: 100% (118711/118711), 49.53 MiB | 119.00 KiB/s, done.
Resolving deltas: 100% (76111/76111), done.
❖ ~/solidity [18:33:27]
[email protected]➤ cd browser-solidity
❖ ~/solidity/browser-solidity git:(master) [18:34:48]
❖ ~/solidity/browser-solidity git:(master) [18:34:48]
[email protected]➤ npm install
npm WARN prepublish-on-install As of [email protected]5, `prepublish` scripts are deprecated.
npm WARN prepublish-on-install Use `prepare` for build steps and `prepublishOnly` for upload-only.
npm WARN prepublish-on-install See the deprecation note in `npm help scripts` for more information.
> [email protected]0.0.0 prepublish /Users/xiaoyu/solidity/browser-solidity
> mkdirp build; npm-run-all -ls downloadsolc build
[downloadsolc]
[downloadsolc] > [email protected]0.0.0 downloadsolc /Users/xiaoyu/solidity/browser-solidity
[downloadsolc] > rimraf soljson.js; wget https://ethereum.github.io/solc-bin/soljson.js
[downloadsolc]
[downloadsolc] --2017-08-29 10:38:24-- https://ethereum.github.io/solc-bin/soljson.js
[downloadsolc] Resolving ethereum.github.io... 151.101.73.147, 2a04:4e42:11::403
[downloadsolc] Connecting to ethereum.github.io|151.101.73.147|:443... connected.
[downloadsolc] HTTP request sent, awaiting response... 200 OK
[downloadsolc] Length: 6990024 (6.7M) [application/javascript]
[downloadsolc] Saving to: ‘soljson.js’
[downloadsolc]
[downloadsolc] 0K .......... .......... .......... .......... .......... 0% 180K 38s
[downloadsolc] 50K .......... .......... .......... .......... .......... 1% 295K 30s
[downloadsolc] 100K .......... .......... .......... .......... .......... 2% 332K 27s
[downloadsolc] 150K .......... .......... .......... .......... .......... 2% 238K 27s
[downloadsolc] 200K .......... .......... .......... .......... .......... 3% 399K 25s
[downloadsolc] 250K .......... .......... .......... .......... .......... 4% 407K 23s
[downloadsolc] 300K .......... .......... .......... .......... .......... 5% 190K 24s
[downloadsolc] 350K .......... .......... .......... .......... .......... 5% 308K 24s
[downloadsolc] 400K .......... .......... .......... .......... .......... 6% 376K 23s
[downloadsolc] 450K .......... .......... .......... .......... .......... 7% 338K 22s
[downloadsolc] 500K .......... .......... .......... .......... .......... 8% 402K 22s
[downloadsolc] 550K .......... .......... .......... .......... .......... 8% 401K 21s
[downloadsolc] 600K .......... .......... .......... .......... .......... 9% 234K 21s
[downloadsolc] 650K .......... .......... .......... .......... .......... 10% 334K 21s
[downloadsolc] 700K .......... .......... .......... .......... .......... 10% 320K 20s
[downloadsolc] 750K .......... .......... .......... .......... .......... 11% 362K 20s
[downloadsolc] 800K .......... .......... .......... .......... .......... 12% 365K 20s
[downloadsolc] 850K .......... .......... .......... .......... .......... 13% 391K 19s
[downloadsolc] 900K .......... .......... .......... .......... .......... 13% 390K 19s
[downloadsolc] 950K .......... .......... .......... .......... .......... 14% 408K 19s
[downloadsolc] 1000K .......... .......... .......... .......... .......... 15% 372K 18s
[downloadsolc] 1050K .......... .......... .......... .......... .......... 16% 419K 18s
[downloadsolc] 1100K .......... .......... .......... .......... .......... 16% 286K 18s
[downloadsolc] 1150K .......... .......... .......... .......... .......... 17% 178K 18s
[downloadsolc] 1200K .......... .......... .......... .......... .......... 18% 303K 18s
[downloadsolc] 1250K .......... .......... .......... .......... .......... 19% 354K 18s
[downloadsolc] 1300K .......... .......... .......... .......... .......... 19% 309K 18s
[downloadsolc] 1350K .......... .......... .......... .......... .......... 20% 359K 17s
[downloadsolc] 1400K .......... .......... .......... .......... .......... 21% 331K 17s
[downloadsolc] 1450K .......... .......... .......... .......... .......... 21% 399K 17s
[downloadsolc] 1500K .......... .......... .......... .......... .......... 22% 263K 17s
[downloadsolc] 1550K .......... .......... .......... .......... .......... 23% 291K 17s
[downloadsolc] 1600K .......... .......... .......... .......... .......... 24% 358K 17s
[downloadsolc] 1650K .......... .......... .......... .......... .......... 24% 531K 16s
[downloadsolc] 1700K .......... .......... .......... .......... .......... 25% 339K 16s
[downloadsolc] 1750K .......... .......... .......... .......... .......... 26% 366K 16s
[downloadsolc] 1800K .......... .......... .......... .......... .......... 27% 356K 16s
[downloadsolc] 1850K .......... .......... .......... .......... .......... 27% 457K 15s
[downloadsolc] 1900K .......... .......... .......... .......... .......... 28% 333K 15s
[downloadsolc] 1950K .......... .......... .......... .......... .......... 29% 323K 15s
[downloadsolc] 2000K .......... .......... .......... .......... .......... 30% 439K 15s
[downloadsolc] 2050K .......... .......... .......... .......... .......... 30% 450K 14s
[downloadsolc] 2100K .......... .......... .......... .......... .......... 31% 149K 15s
[downloadsolc] 2150K .......... .......... .......... .......... .......... 32% 217K 15s
[downloadsolc] 2200K .......... .......... .......... .......... .......... 32% 207K 15s
[downloadsolc] 2250K .......... .......... .......... .......... .......... 33% 156K 15s
[downloadsolc] 2300K .......... .......... .......... .......... .......... 34% 295K 15s
[downloadsolc] 2350K .......... .......... .......... .......... .......... 35% 302K 15s
[downloadsolc] 2400K .......... .......... .......... .......... .......... 35% 267K 14s
[downloadsolc] 2450K .......... .......... .......... .......... .......... 36% 309K 14s
[downloadsolc] 2500K .......... .......... .......... .......... .......... 37% 258K 14s
[downloadsolc] 2550K .......... .......... .......... .......... .......... 38% 316K 14s
[downloadsolc] 2600K .......... .......... .......... .......... .......... 38% 210K 14s
[downloadsolc] 2650K .......... .......... .......... .......... .......... 39% 1.04K 87s
[downloadsolc] 2700K .......... .......... .......... .......... .......... 40% 16.8K 89s
[downloadsolc] 2750K .......... .......... .......... .......... .......... 41% 109K 87s
[downloadsolc] 2800K .......... .......... .......... .......... .......... 41% 156K 85s
[downloadsolc] 2850K .......... .......... .......... .......... .......... 42% 124K 83s
[downloadsolc] 2900K .......... .......... .......... .......... .......... 43% 125K 81s
[downloadsolc] 2950K .......... .......... .......... .......... .......... 43% 90.3K 79s
[downloadsolc] 3000K .......... .......... .......... .......... .......... 44% 117K 78s
[downloadsolc] 3050K .......... .......... .......... .......... .......... 45% 147K 76s
[downloadsolc] 3100K .......... .......... .......... .......... .......... 46% 83.0K 74s
[downloadsolc] 3150K .......... .......... .......... .......... .......... 46% 149K 72s
[downloadsolc] 3200K .......... .......... .......... .......... .......... 47% 179K 71s
[downloadsolc] 3250K .......... .......... .......... .......... .......... 48% 163K 69s
[downloadsolc] 3300K .......... .......... .......... .......... .......... 49% 113K 67s
[downloadsolc] 3350K .......... .......... .......... .......... .......... 49% 239K 66s
[downloadsolc] 3400K .......... .......... .......... .......... .......... 50% 125K 64s
[downloadsolc] 3450K .......... .......... .......... .......... .......... 51% 260K 62s
[downloadsolc] 3500K .......... .......... .......... .......... .......... 52% 184K 61s
[downloadsolc] 3550K .......... .......... .......... .......... .......... 52% 227K 59s
[downloadsolc] 3600K .......... .......... .......... .......... .......... 53% 276K 58s
[downloadsolc] 3650K .......... .......... .......... .......... .......... 54% 229K 56s
[downloadsolc] 3700K .......... .......... .......... .......... .......... 54% 386K 55s
[downloadsolc] 3750K .......... .......... .......... .......... .......... 55% 675K 53s
[downloadsolc] 3800K .......... .......... .......... .......... .......... 56% 457K 52s
[downloadsolc] 3850K .......... .......... .......... .......... .......... 57% 268K 50s
[downloadsolc] 3900K .......... .......... .......... .......... .......... 57% 339K 49s
[downloadsolc] 3950K .......... .......... .......... .......... .......... 58% 604K 48s
[downloadsolc] 4000K .......... .......... .......... .......... .......... 59% 565K 46s
[downloadsolc] 4050K .......... .......... .......... .......... .......... 60% 192K 45s
[downloadsolc] 4100K .......... .......... .......... .......... .......... 60% 1.49M 44s
[downloadsolc] 4150K .......... .......... .......... .......... .......... 61% 525K 42s
[downloadsolc] 4200K .......... .......... .......... .......... .......... 62% 646K 41s
[downloadsolc] 4250K .......... .......... .......... .......... .......... 62% 223K 40s
[downloadsolc] 4300K .......... .......... .......... .......... .......... 63% 1.15M 39s
[downloadsolc] 4350K .......... .......... .......... .......... .......... 64% 1.59M 38s
[downloadsolc] 4400K .......... .......... .......... .......... .......... 65% 253K 37s
[downloadsolc] 4450K .......... .......... .......... .......... .......... 65% 1.70M 35s
[downloadsolc] 4500K .......... .......... .......... .......... .......... 66% 1.01M 34s
[downloadsolc] 4550K .......... .......... .......... .......... .......... 67% 1.13M 33s
[downloadsolc] 4600K .......... .......... .......... .......... .......... 68% 392K 32s
[downloadsolc] 4650K .......... .......... .......... .......... .......... 68% 788K 31s
[downloadsolc] 4700K .......... .......... .......... .......... .......... 69% 700K 30s
[downloadsolc] 4750K .......... .......... .......... .......... .......... 70% 2.58M 29s
[downloadsolc] 4800K .......... .......... .......... .......... .......... 71% 565K 28s
[downloadsolc] 4850K .......... .......... .......... .......... .......... 71% 5.22M 27s
[downloadsolc] 4900K .......... .......... .......... .......... .......... 72% 825K 26s
[downloadsolc] 4950K .......... .......... .......... .......... .......... 73% 1.33M 25s
[downloadsolc] 5000K .......... .......... .......... .......... .......... 73% 453K 24s
[downloadsolc] 5050K .......... .......... .......... .......... .......... 74% 1.79M 23s
[downloadsolc] 5100K .......... .......... .......... .......... .......... 75% 1.21M 23s
[downloadsolc] 5150K .......... .......... .......... .......... .......... 76% 1.27M 22s
[downloadsolc] 5200K .......... .......... .......... .......... .......... 76% 244K 21s
[downloadsolc] 5250K .......... .......... .......... .......... .......... 77% 1.05M 20s
[downloadsolc] 5300K .......... .......... .......... .......... .......... 78% 1.00M 19s
[downloadsolc] 5350K .......... .......... .......... .......... .......... 79% 1.23M 18s
[downloadsolc] 5400K .......... .......... .......... .......... .......... 79% 395K 18s
[downloadsolc] 5450K .......... .......... .......... .......... .......... 80% 4.38M 17s
[downloadsolc] 5500K .......... .......... .......... .......... .......... 81% 299K 16s
[downloadsolc] 5550K .......... .......... .......... .......... .......... 82% 609K 15s
[downloadsolc] 5600K .......... .......... .......... .......... .......... 82% 229K 15s
[downloadsolc] 5650K .......... .......... .......... .......... .......... 83% 247K 14s
[downloadsolc] 5700K .......... .......... .......... .......... .......... 84% 48.6M 13s
[downloadsolc] 5750K .......... .......... .......... .......... .......... 84% 62.4M 12s
[downloadsolc] 5800K .......... .......... .......... .......... .......... 85% 53.2M 12s
[downloadsolc] 5850K .......... .......... .......... .......... .......... 86% 53.1M 11s
[downloadsolc] 5900K .......... .......... .......... .......... .......... 87% 44.5M 10s
[downloadsolc] 5950K .......... .......... .......... .......... .......... 87% 1.62M 10s
[downloadsolc] 6000K .......... .......... .......... .......... .......... 88% 904K 9s
[downloadsolc] 6050K .......... .......... .......... .......... .......... 89% 1.69M 8s
[downloadsolc] 6100K .......... .......... .......... .......... .......... 90% 1.21M 8s
[downloadsolc] 6150K .......... .......... .......... .......... .......... 90% 1.65M 7s
[downloadsolc] 6200K .......... .......... .......... .......... .......... 91% 4.34M 7s
[downloadsolc] 6250K .......... .......... .......... .......... .......... 92% 279K 6s
[downloadsolc] 6300K .......... .......... .......... .......... .......... 93% 6.26M 5s
[downloadsolc] 6350K .......... .......... .......... .......... .......... 93% 5.80M 5s
[downloadsolc] 6400K .......... .......... .......... .......... .......... 94% 3.99M 4s
[downloadsolc] 6450K .......... .......... .......... .......... .......... 95% 412K 4s
[downloadsolc] 6500K .......... .......... .......... .......... .......... 95% 813K 3s
[downloadsolc] 6550K .......... .......... .......... .......... .......... 96% 1017K 2s
[downloadsolc] 6600K .......... .......... .......... .......... .......... 97% 1.39M 2s
[downloadsolc] 6650K .......... .......... .......... .......... .......... 98% 7.24M 1s
[downloadsolc] 6700K .......... .......... .......... .......... .......... 98% 753K 1s
[downloadsolc] 6750K .......... .......... .......... .......... .......... 99% 4.73M 0s
[downloadsolc] 6800K .......... .......... ...... 100% 1.03M=71s
[downloadsolc]
[downloadsolc] 2017-08-29 10:39:37 (96.0 KB/s) - ‘soljson.js’ saved [6990024/6990024]
[downloadsolc]
[build ]
[build ] > [email protected]0.0.0 build /Users/xiaoyu/solidity/browser-solidity
[build ] > browserify src/index.js -o build/app.js
[build ]
npm notice created a lockfile as package-lock.json. You should commit this file.
up to date in 97.274s
//執行demo
[email protected]➤ npm run prepublish
> [email protected]0.0.0 prepublish /Users/xiaoyu/solidity/browser-solidity
> mkdirp build; npm-run-all -ls downloadsolc build
[downloadsolc]
[downloadsolc] > [email protected]0.0.0 downloadsolc /Users/xiaoyu/solidity/browser-solidity
[downloadsolc] > rimraf soljson.js; wget https://ethereum.github.io/solc-bin/soljson.js
[downloadsolc]
[downloadsolc] --2017-08-29 10:41:42-- https://ethereum.github.io/solc-bin/soljson.js
[downloadsolc] Resolving ethereum.github.io... 151.101.9.147, 2a04:4e42:2::403
[downloadsolc] Connecting to ethereum.github.io|151.101.9.147|:443... connected.
[downloadsolc] Unable to establish SSL connection.
[downloadsolc] npm ERR! code ELIFECYCLE
[downloadsolc] npm ERR! errno 4
[downloadsolc] npm ERR! [email protected]0.0.0 downloadsolc: `rimraf soljson.js; wget https://ethereum.github.io/solc-bin/soljson.js`
[downloadsolc] npm ERR! Exit status 4
[downloadsolc] npm ERR!
[downloadsolc] npm ERR! Failed at the [email protected]0.0.0 downloadsolc script.
[downloadsolc] npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
[downloadsolc]
[downloadsolc] npm ERR! A complete log of this run can be found in:
[downloadsolc] npm ERR! /Users/xiaoyu/.npm/_logs/2017-08-29T02_44_51_298Z-debug.log
ERROR: "downloadsolc" exited with 4.
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected]0.0.0 prepublish: `mkdirp build; npm-run-all -ls downloadsolc build`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected]0.0.0 prepublish 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:
npm ERR! /Users/xiaoyu/.npm/_logs/2017-08-29T02_44_51_335Z-debug.log
報錯了
[downloadsolc]連線到ethereum.github.io | 151.101.9.147 |:443 …已連線。
[downloadsolc]無法建立SSL連線。
問題不大,屬於網路問題。
再試一次
[email protected]➤ npm run prepublish
> [email protected]0.0.0 prepublish /Users/xiaoyu/solidity/browser-solidity
> mkdirp build; npm-run-all -ls downloadsolc build
[downloadsolc]
[downloadsolc] > [email protected]0.0.0 downloadsolc /Users/xiaoyu/solidity/browser-solidity
[downloadsolc] > rimraf soljson.js; wget https://ethereum.github.io/solc-bin/soljson.js
[downloadsolc]
[downloadsolc] --2017-08-29 11:05:51-- https://ethereum.github.io/solc-bin/soljson.js
[downloadsolc] Resolving ethereum.github.io... 151.101.73.147, 2a04:4e42:11::403
[downloadsolc] Connecting to ethereum.github.io|151.101.73.147|:443... connected.
[downloadsolc] HTTP request sent, awaiting response... 200 OK
[downloadsolc] Length: 6990024 (6.7M) [application/javascript]
[downloadsolc] Saving to: ‘soljson.js’
[downloadsolc]
[downloadsolc] 0K .......... .......... .......... .......... .......... 0% 103K 66s
[downloadsolc] 50K .......... .......... .......... .......... .......... 1% 4.65M 33s
[downloadsolc] 100K .......... .......... .......... .......... .......... 2% 306K 29s
[downloadsolc] 150K .......... .......... .......... .......... .......... 2% 286K 28s
[downloadsolc] 200K .......... .......... .......... .......... .......... 3% 177K 29s
[downloadsolc] 250K .......... .......... .......... .......... .......... 4% 103K 35s
[downloadsolc] 300K .......... .......... .......... .......... .......... 5% 36.2M 30s
[downloadsolc] 350K .......... .......... .......... .......... .......... 5% 292K 28s
[downloadsolc] 400K .......... .......... .......... .......... .......... 6% 8.31M 25s
[downloadsolc] 450K .......... .......... .......... .......... .......... 7% 242K 25s
[downloadsolc] 500K .......... .......... .......... .......... .......... 8% 85.7K 29s
[downloadsolc] 550K .......... .......... .......... .......... .......... 8% 34.7M 27s
[downloadsolc] 600K .......... .......... .......... .......... .......... 9% 184K 27s
[downloadsolc] 650K .......... .......... .......... .......... .......... 10% 303K 26s
[downloadsolc] 700K .......... .......... .......... .......... .......... 10% 171K 27s
[downloadsolc] 750K .......... .......... .......... .......... .......... 11% 147K 27s
[downloadsolc] 800K .......... .......... .......... .......... .......... 12% 161K 28s
[downloadsolc] 850K .......... .......... .......... .......... .......... 13% 278K 27s
[downloadsolc] 900K .......... .......... .......... .......... .......... 13% 157K 28s
[downloadsolc] 950K .......... .......... .......... .......... .......... 14% 163K 28s
[downloadsolc] 1000K .......... .......... .......... .......... .......... 15% 286K 27s
[downloadsolc] 1050K .......... .......... .......... .......... .......... 16% 7.41M 26s
[downloadsolc] 1100K .......... .......... .......... .......... .......... 16% 140K 26s
[downloadsolc] 1150K .......... .......... .......... .......... .......... 17% 80.7K 28s
[downloadsolc] 1200K .......... .......... .......... .......... .......... 18% 340K 27s
[downloadsolc] 1250K .......... .......... .......... .......... .......... 19% 349K 26s
[downloadsolc] 1300K .......... .......... .......... .......... .......... 19% 391K 26s
[downloadsolc] 1350K .......... .......... .......... .......... .......... 20% 260K