【區塊鏈】以太坊編程環境構建

以太坊編程環境構建

以太坊編程環境介紹

以太坊編程涉及語言

  • Solidity:類JavaScript,合約語言
  • web3.js:javaScript,合約調用
  • React等:js框架,用戶交互,webUI等
  • Nodejs:js框架,後臺邏輯
  • JS/html,基礎語言

各類以太坊網絡

  • Mainnet:以太坊主網
  • Ropsten,以太坊主測試網絡
  • Ganache/testrpc:自建測試節點
  • Geth客戶端自建私有鏈或聯盟鏈

基本編程測試環境要求

  • 標準Mac/Windows環境即可
  • 內存4G以上
  • Mac下最好有管理員權限

Npm/nodejs環境

  • 隨同NodeJS一起安裝的包管理工具
  • 安裝nodejs即可,會同時安裝npm
  • 允許用戶從NPM服務器下載別人編寫的第三方包到本地使用

Npm基本使用

基本語法:

npm install <Module Name>

其中:

  • npm -v #顯示版本
  • npm install <module> -g # 全局安裝
  • npm uninstall <module> # 卸載
  • npm update <module> # 更新
  • npm list <module> # 顯示模塊版本號
    注意:在package.json所在目錄下使用npm.install

Ganache環境

ganache-cli基於JS編寫,通過npm安裝
ganache是在本地使用內存模擬的一個以太坊環境
爲測試提供很多便捷功能,如自動生成賬號等
開發測試專用。一般都是在ganache調式完成後,再部署到真實以太坊節點

Ganache基本使用

安裝命令:

npm install -g ganache-cli #node的版本需要>6.11.5

ganache-cli命令:

ganache-cli <options>

Options參數同真實節點geth的參數基本一致,可以自定義端口等,一般無需設置。

Truffle環境

truffle是Solidity語言的一套開發框架,本身基於js。
客戶端做了深度集成。開發,測試,部署一行命令都可以搞定
提供自動化項目構建機制
提供了合約抽象接口,對web3.js進行了進一步封裝,簡化開發流程

Truffle基本使用

安裝:

sudo npm install -g truffle

truffle init # 初始化代碼環境
truffle compile # 編譯
truffle deploy # 部署
truffle test # 測試
truffle console # 命令行工具

編輯器IDE

Remix,基本web的編程環境
SublimeText
Emacs Solidity
Atom Solium Linter
Visual Studio Code
這裏使用VS Code。

Linux環境開發

  • Shell環境
  • Nodejs安裝調試:https://nodejs.org/en/
    node安裝完成後,應當同時安裝了node.js和npm
  • npm -v
  • node -v

Ganache環境安裝調試

安裝:

sudo npm install -g ganache-cli

啓動調試:

ganache-cli

Truffle安裝調試

安裝:

sudo npm install -g truffle

調試:

truffle init

編輯器下載

VS code : https://code.visualstudio.com/
安裝solidity插件。

安裝過程

安裝node.js和npm

參考鏈接:https://phoenixnap.com/kb/install-latest-node-js-and-nmp-on-ubuntu
(直接閱讀英文就好)

引言

Node.js is an open-source cross-platform JavaScript (JS) runtime environment. It is used for building fast and scalable network applications. In addition to offering various JS modules, it is also lightweight, efficient and supports consistent and integrated development.
Node Package Manager (NPM) is Node’s official package manager, used for installing and managing package dependencies.
In this tutorial, learn three (3) different options for installing Node.js and NPM on Ubuntu 18.04.

3種方式在Ubuntu上安裝NPM

方法1:從Ubuntu倉庫安裝Node.js和NPM
sudo apt update
sudo apt install nodejs
nodejs -v
sudo apt install npm
npm -v
方法2:使用NVM安裝Node.js和NPM

Another way to install Node.js and NPM is with the Node Version Manager (NVM). NVM is a tool practical for managing multiple Node.js versions.

sudo apt install curl
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash

這一步結束之後需要根據提示重啓終端,然後將NVM導入到環境變量,即執行:

export NVM_DIR="$HOME/.nvm"

然後檢查是否安裝成功:

nvm --version

一旦安裝完成nvm,就可以從所有可用的Node.js版本中選擇安裝:

nvm ls-remote
nvm ls
node -v
nvm use 8.11.1
方法3:從NodeSource倉庫中安裝Node.js
sudo apt install curl
curl -sL https://deb.nodesource.com/setup_11.x | sudo bash -
sudo apt install nodejs
nodejs --version
npm --version
安裝開發工具

Once you have Node.js and NPM setup, install the development tools. This automation tool kit allows compiling and installing native add-ons from the NPM.

sudo apt install gcc g++ make

安裝ganache

這個步驟一般不會出現問題。

sudo  npm install -g ganache-cli
ganache-cli

啓動調試之後會出現127.0.0.1:8545的URL,說明安裝正常。使用ctrl+C關閉調試

安裝truffle

這個過程中問題較多。
正常步驟:

sudo npm install -g truffle
truffle init

可能出現的問題:

  1. 問題:Error: EACCES: permission denied, open ‘/root/.config/truffle/config.json’
    解決方案:使用root用戶安裝
    具體參考:https://stackoverflow.com/questions/57031399/error-eacces-permission-denied-open-root-config-truffle-config-json

2 問題:Error: Cannot find module spawn-sync/postinstall
解決方案:

npm install -g try-thread-sleep
npm install -g serverless --ignore-scripts spawn-sync

具體參考:https://github.com/serverless/serverless/issues/4319
3 問題:npm ERR! [email protected] postinstall: node ./scripts/postinstall.js
解決方案:使用–unsafe-perm=true
具體參考:https://stackoverflow.com/questions/48298361/npm-install-failed-at-the-node-sass4-5-0-postinstall-script

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章