013 基於truffle的PetShop案例

2021-08-14 23:54:14 字數 2466 閱讀 9609

我的部落格即將入駐「雲棲社群」,誠邀技術同仁一同入駐。

truffle裡面有幾個例子還是不錯的,也看到很多人進行翻譯,我這裡就不翻譯啦,介紹安裝和部署遇到的坑。

坑一:petshop這個案例的坑在於src/index.html裡面有個jquery.min.js的引用,被偉大的長城防火牆給牆了,導致載入報錯。

坑二:沒有介紹如何轉以太幣,勉強算坑吧。

1、安裝前提條件

git   

使用root進行部署

2、搭建私有鏈

rpc server : 

network id:8888

3、建立工程

mkdir pet-shop-tutorial

cd pet-shop-tutorial

truffle unbox pet-shop

4、**修改(包括合約**、測試合約**和前端**)

5、配置工程檔案

修改工程truffle配置檔案truffle.js,檔案路徑/home/jack/demo/pet-shop-tutorial

vi truffle.js
6、配置編譯檔案

在目錄/home/jack/demo/pet-shop-tutorial/migrations下執行以下命令

vi 2_deploy_contracts.js
修改為以下內容

var adoption = artifacts.require("adoption");

module.exports = function(deployer) ;

7、編譯合約

在目錄/home/jack/demo/pet-shop-tutorial下執行以下命令

truffle compile
8、部署合約

在目錄/home/jack/demo/pet-shop-tutorial下執行以下命令,truffle會根據truffle.js檔案配置的網路把合約部署到上面

truffle migrate
9、部署測試合約

在目錄/home/jack/demo/pet-shop-tutorial下執行以下命令

truffle test
測試結果如下,表示合約部署成功:

using network 'development'.

compiling ./contracts/adoption.sol...

compiling ./test/testadoption.sol...

compiling truffle/assert.sol...

compiling truffle/deployedaddresses.sol...

testadoption

✓ testusercanadoptpet (91ms)

✓ testgetadopteraddressbypetid (70ms)

✓ testgetadopteraddressbypetidinarray (89ms)

3 passing (670ms)

10、安裝metamask錢包並建立賬戶

可以參考之前安裝metamask錢包文章:

設定metamask錢包鏈結到私有鏈。

11、轉以太幣到metamask錢包賬戶

從ganache建立的私有鏈第二個賬戶中轉10個以太幣給metamask錢包內賬戶。

在目錄/home/jack/demo/pet-shop-tutorial下執行以下命令,進入truffle互動命令列

truffle console
先複製metamask賬戶位址 0xaffdc60deca1df8b61e5297dbccca3d6d80820f7

修改以下賬戶位址為你的metamask賬戶位址 ,在互動命令列下,執行以下命令

12、執行專案

在目錄/home/jack/demo/pet-shop-tutorial下執行以下命令

利用truffle框架構建基於以太坊的Dapp過程

本案例在ubuntu下測試的。1 mkdir project1 cd project1 truffle init 以上建立並初始化乙個truffle專案,成功則顯示如下。2 將已經建立好的合約放在project1 contracts 目錄下,即在此目錄下進行智慧型合約的編寫 3 在migration...

基於PEview分析PE檔案(4 4)

從圖3可以看出,pe檔案的nt頭之後就是節 section 頭,每個節頭的大小是40位元組。在 4.2 image file header 中提到,本pe檔案包含9個節,可以從圖3中找到這9個節對應的節頭。表1列出了各節頭的對應節的內容。表1 節頭對應節的內容 節名內容 節名內容 bss 未初始化的...

8 4 8 使用truffle的操作台

有時,為了進行測試和除錯,需要與合約進行直接互動或者手動執行交易。truffle通過互動操作台提供了乙個簡便的辦法 在其中合約可用且隨時可用。要開啟操作台,請執行如下命令 操作台根據專案配置連線到乙個以太坊節點。前面的命令還用 network選項指定要連線到的特定節點。操作台的功能如下 可以在操作台...