Truffle學習筆記

Truffle學習筆記

安裝truffle, 注意: 雖然目前truffle最新版是 5.0.0, 但是經過我實踐之后, 返現和v4有很多不同(比如: web3.eth.accounts; 都獲取不到賬戶), 還是那句話:

“nodejs模塊的版本問題會搞死人的 !”

目前4.1.15之前的版本都不能用了, 只能安裝v4.1.15

npm install truffle@4.1.15

普通truffle項目

創建普通項目 truffle init即可

react

創建react項目 truffle unbox react, 可能會遇到錯誤npm WARN tar zlib error: unexpected end of file, 這是在 安裝client依賴發生的錯誤.

切換到 client目錄執行 npm install --no-package-lock安裝即可

錯誤: npm WARN tar zlib error: unexpected end of file

參考: https://github.com/npm/npm/issues/19353#issuecomment-367329967

啟動項目:

  • 在項目目錄執行 truffle develop
  • 打開metamask用custom RPC連接到 http://127.0.0.1:9545
  • 然后執行 compile, 如果報錯:編譯版本不符, 將智能合約中版本降為0.4.17或其他低于或等于當前編譯器版本即可.
  • 打開另外一個終端, 進入client目錄, 執行npm start, 這時瀏覽器會訪問 http://localhost:3000, 因為Client/App.js中會調用合約的set方法, 需要花費gas, 所以提前將用戶導入metamask, 確保metamask的當前選擇的用戶有以太幣

項目效果

外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳

修改合約中變量

  changeValue = async  () =>{var value = Number( this.refs.dataInput.value );  //獲取輸入框的值console.log(value);await g_instance.methods.set(value).send({ from: g_accounts[0] }); //調用合約中的set方法// Get the value from the contract to prove it worked.const response = await g_instance.methods.get().call();// Update state with the result.this.setState({ storageValue: response });};-------------------------------
<div><input  ref="dataInput" style={{width:200, height:30}}/><button onClick={this.changeValue} style={{width:100, height:30}}>確定</button>
</div>

外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳

IPFS搭建

參考: https://blog.csdn.net/u013022210/article/details/80363107

直接展示ipns部署博客效果

外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳

另外 可以通過nodejs和ipfs交互

npm install ipfs-http-client

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/41116.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/41116.shtml
英文地址,請注明出處:http://en.pswp.cn/web/41116.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

新手學Cocos報錯 [Assets] Failed to open

兩個都在偏好設置里面調&#xff08;文件下面的偏好設置&#xff09;&#xff1a; 1.設置中文&#xff1f; 2.報錯 [Assets] Failed to open&#xff1f; 這樣在點擊打開ts文件的時候就不會報錯&#xff0c;并且用vscode編輯器打開了&#xff0c; 同樣也可以改成你們自己喜歡…

LabVIEW在圖像處理中的應用

abVIEW作為一種圖形化編程環境&#xff0c;不僅在數據采集和儀器控制領域表現出色&#xff0c;還在圖像處理方面具有強大的功能。借助其Vision Development Module&#xff0c;LabVIEW提供了豐富的圖像處理工具&#xff0c;廣泛應用于工業檢測、醫學影像、自動化控制等多個領域…

Apache Seata應用側啟動過程剖析——RM TM如何與TC建立連接

本文來自 Apache Seata官方文檔&#xff0c;歡迎訪問官網&#xff0c;查看更多深度文章。 本文來自 Apache Seata官方文檔&#xff0c;歡迎訪問官網&#xff0c;查看更多深度文章。 Apache Seata應用側啟動過程剖析——RM & TM如何與TC建立連接 前言 看過官網 README 的第…

Android最近任務顯示的圖片

Android最近任務顯示的圖片 1、TaskSnapshot截圖1.1 snapshotTask1.2 drawAppThemeSnapshot 2、導航欄顯示問題3、Recentan按鍵進入最近任務 1、TaskSnapshot截圖 frameworks/base/services/core/java/com/android/server/wm/TaskSnapshotController.java frameworks/base/cor…

IPython 性能評估工具的較量:%%timeit 與 %timeit 的差異解析

IPython 性能評估工具的較量&#xff1a;%%timeit 與 %timeit 的差異解析 在 IPython 的世界中&#xff0c;性能評估是一項至關重要的任務。%%timeit 和 %timeit 是兩個用于測量代碼執行時間的魔術命令&#xff0c;但它們之間存在一些關鍵的差異。本文將深入探討這兩個命令的不…

2786. 訪問數組中的位置使分數最大

2786. 訪問數組中的位置使分數最大 題目鏈接&#xff1a;2786. 訪問數組中的位置使分數最大 代碼如下&#xff1a; //參考鏈接:https://leetcode.cn/problems/visit-array-positions-to-maximize-score/solutions/2810335/dp-by-kkkk-16-tn9f class Solution { public:long …

vue-router 4匯總

一、vue和vue-router版本&#xff1a; "vue": "^3.4.29", "vue-router": "^4.4.0" 二、路由傳參&#xff1a; 方式一&#xff1a; 路由配置&#xff1a;/src/router/index.ts import {createRouter,createWebHistory } from &quo…

探索 WebKit 的緩存迷宮:深入理解其高效緩存機制

探索 WebKit 的緩存迷宮&#xff1a;深入理解其高效緩存機制 在當今快速變化的網絡世界中&#xff0c;WebKit 作為領先的瀏覽器引擎之一&#xff0c;其緩存機制對于提升網頁加載速度、減少服務器負載以及改善用戶體驗起著至關重要的作用。本文將深入探討 WebKit 的緩存機制&am…

代碼隨想錄leetcode200題之額外題目

目錄 1 介紹2 訓練3 參考 1 介紹 本博客用來記錄代碼隨想錄leetcode200題之額外題目相關題目。 2 訓練 題目1&#xff1a;1365. 有多少小于當前數字的數字 解題思路&#xff1a;二分查找。 C代碼如下&#xff0c; class Solution { public:vector<int> smallerNumb…

卷積神經網絡(CNN)和循環神經網絡(RNN) 的區別與聯系

卷積神經網絡&#xff08;CNN&#xff09;和循環神經網絡&#xff08;RNN&#xff09;是兩種廣泛應用于深度學習的神經網絡架構&#xff0c;它們在設計理念和應用領域上有顯著區別&#xff0c;但也存在一些聯系。 ### 卷積神經網絡&#xff08;CNN&#xff09; #### 主要特點…

解決C++編譯時的產生的skipping incompatible xxx 錯誤

問題 我在編譯項目時&#xff0c;產生了一個 /usr/bin/ld: skipping incompatible ../../xxx/ when searching for -lxxx 的編譯錯誤&#xff0c;如下圖所示&#xff1a; 解決方法 由圖中的錯誤可知&#xff0c;在編譯時&#xff0c;是能夠在我們指定目錄下的 *.so 動態庫的…

python函數和c的區別有哪些

Python有很多內置函數&#xff08;build in function&#xff09;&#xff0c;不需要寫頭文件&#xff0c;Python還有很多強大的模塊&#xff0c;需要時導入便可。C語言在這一點上遠不及Python&#xff0c;大多時候都需要自己手動實現。 C語言中的函數&#xff0c;有著嚴格的順…

Java基礎(六)——繼承

個人簡介 &#x1f440;個人主頁&#xff1a; 前端雜貨鋪 ?開源項目&#xff1a; rich-vue3 &#xff08;基于 Vue3 TS Pinia Element Plus Spring全家桶 MySQL&#xff09; &#x1f64b;?♂?學習方向&#xff1a; 主攻前端方向&#xff0c;正逐漸往全干發展 &#x1…

【Web】

1、配倉庫 [rootlocalhost yum.repos.d]# vi rpm.repo ##本地倉庫標準寫法 [baseos] namemiaoshubaseos baseurl/mnt/BaseOS gpgcheck0 [appstream] namemiaoshuappstream baseurlfile:///mnt/AppStream gpgcheck0 2、掛載 [rootlocalhost ~]mount /dev/sr0 /mnt mount: /m…

QT操作各類數據庫用法詳解

文章目錄 創建內存SQLITE數據庫QSqlTableModel操作數據庫表連接國產數據庫多線程數據處理不指定數據庫名打開數據庫QT對各種數據庫的支持情況處理數據庫表名QT連接各種數據庫Qt提供了一個名為QtSQL模塊的強大組件, 使得在Qt應用程序中連接和操作多種類型的數據庫變得相對簡單。…

Vulnhub-Os-hackNos-1(包含靶機獲取不了IP地址)

https://download.vulnhub.com/hacknos/Os-hackNos-1.ova #靶機下載地址 題目&#xff1a;要找到兩個flag user.txt root.txt 文件打開 改為NAT vuln-hub-OS-HACKNOS-1靶機檢測不到IP地址 重啟靶機 按住shift 按下鍵盤字母"E"鍵 將圖中ro修改成…

Github 2024-07-06 開源項目日報 Top10

根據Github Trendings的統計,今日(2024-07-06統計)共有10個項目上榜。根據開發語言中項目的數量,匯總情況如下: 開發語言項目數量Python項目3TypeScript項目2Rust項目2非開發語言項目1C++項目1QML項目1MDX項目1JavaScript項目1Assembly項目1免費編程書籍和學習資源清單 創建…

JS 四舍五入使用整理

一、Number.toFixed() 把數字轉換為字符串,結果的小數點后有指定位數的數字,重點返回的數據類型為字符串 toFixed() 方法將一個浮點數轉換為指定小數位數的字符串表示,如果小數位數高于數字,則使用 0 來填充。 toFixed() 方法可把 Number 四舍五入為指定小數位數的數字。…

Vue 3集成krpano 全景圖展示

Vue 3集成krpano 全景圖展示 星光云全景系統源碼 VR全景體驗地址 星光云全景VR系統 將全景krpano靜態資源文件vtour放入vue項目中 導入vue之前需要自己制作一個全景圖 需要借助官方工具進行制作 工具下載地址&#xff1a;krpano工具下載地址 注意事項&#xff1a;vuecli…

Hook 實現 Windows 系統熱鍵屏蔽(二)

目錄 前言 一、介紹用戶賬戶控制&#xff08;UAC&#xff09; 1.1 什么是 UAC &#xff1f; 2.2 UAC 運行機制的概述 2.3 分析 UAC 提權參數 二、 NdrAsyncServerCall 函數的分析 2.1 函數聲明的解析 2.2 對 Winlogon 的逆向 2.3 對 rpcrt4 的靜態分析 2.4 對 rpcrt4…