truffle

文章目錄

    • truffle
    • 目錄結構
    • 各文件作用
    • 在本地測試合約

truffle

項目來自https://github.com/Dapp-Learning-DAO/Dapp-Learning/blob/main/basic/04-web3js-truffle/README-CN.md

Truffle 是基于 Solidity 語言的一套開發框架,它簡化了去中心化應用(Dapp)的構建和管理流程。本身是采用 Javascript 編寫,支持智能合約的編譯、部署和測試。

目錄結構

contracts/: Solidity 合約目錄

migrations/: 部署腳本文件目錄

test/: 測試腳本目錄,參考 如何測試應用?

truffle-config.js: Truffle 配置文件

各文件作用

contracts/SimpleToken.sol: 這是一個用 Solidity 編寫的 erc20 代幣 智能合約.
migrations/1_initial_migration.js: 這是一個部署腳本,用來部署 Migrations 合約,對應 Migrations.sol 文件。
truffle-config.js (之前是 truffle.js): Truffle 配置文件, 用來設置網絡信息,和其他項目相關的設置。當我們使用內建的默認的 Truffle 命令時,這個文件留空也是可以的。

在本地測試合約

運行 truffle develop,系統會給出 10 個測試賬號,包括錢包地址和私鑰。

$ truffle develop
Truffle Develop started at http://127.0.0.1:9545/Accounts:
(0) 0x9a3f188e2c161ff4482aeb045546644b8d67120b
(1) 0x5cbbdd0348822e3e1714364d2181685adc0e6d8a
(2) 0x4b584bc2696c12684ec3368baff27a882b7b2a5e
(3) 0xa14784c20cbfd1a11bf29275c2f645c504def5ad
(4) 0x5dce815d7cc51366467537b483e9c67681cb1cb7
(5) 0x1765e4c4e3f0ddb10f1f99cfaea746ea7917a736
(6) 0xd885baef12d93f0d8f67c4dbd6150b0841009098
(7) 0x9de5081329d2795990d701a0baae889322786647
(8) 0x5e829e607a498a2d9df206f02e9ee8ae9ad4c67c
(9) 0x29b3614d41ff6a3c8c16871a82d0e407e8a5b225Private Keys:
(0) 0a8d9e2a470aedfabe279f16f629c5054a47d69b7d66d17ba65cdd7ca99876e1
(1) 1920e755c5a37c78e8926559b20df9631f88153a5b1335d2d53bf2dde0da796f
(2) 394d687218146c92adc5bd46600360bcc42f0a261859b2c79501dea5eb264ffe
(3) 30f3d558a203da5a9b6d9d194836c2c2b08799e92eb2d9f18ef445878be98c34
(4) 97bd6ec766613a0235ffb7b4c69bab601702e75b68403842ba21bb5a2bc3786a
(5) 9372baed783bb62ad3639f10e24fda0580490845735da62666e87353a8625ed0
(6) 0a8e8fa6e04b3bfb06cb12cc86f3beb168fa4f9e658fd7fb794096af8fa6559e
(7) 872707416f98cb7d8b3db925e4b4273b77e382753893ee9cf2e19ce89842d12a
(8) 82daa8ffc47246bbf0cb1bdc574658a98c1571a47bd647b18f7986c63ca47cff
(9) 040cdda01e0b34c00c39877078af2015bd16125fb4fabf1d7153b679e209409f

接下來配置本地網絡參數,將下面 network 屬性中 development 注釋打開,host 配置成本地,port 配置成 truffle develop 給出的端口地址,如本例中端口是 9545。network_id 保留原狀。

 development: {host: "127.0.0.1",port: 9545,network_id: "*"},

配置好以后即可運行 truffle compile 進行編譯,truffle migrate 進行部署,truffle test 進行測試

> Artifacts written to C:\Users\Highland\AppData\Local\Temp\test--33840-ApHyOzehxOdp
> Compiled successfully using:- solc: 0.8.0+commit.c7dfd78e.Emscripten.clangTestSimpleToken√ testInitialBalanceUsingDeployedContract (1802ms)√ testTransfer (1723ms)Contract: SimpleToken√ Should put 100000 to the 0x9A3f188e2C161ff4482AEB045546644B8d67120B (1773ms)√ Transfer 100 to other account (2342ms)4 passing (32s)

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

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

相關文章

SpringCloud核心組件Eureka菜鳥教程

關于Spring Cloud Eureka的核心概念 Eureka 是 Netflix 開源的一款基于 REST 的服務發現工具,主要用于中間層服務器的云端負載均衡。它通過維護一個服務注冊表來實現服務之間的通信1。在 Spring Cloud 中,Eureka 提供了一個高可用的服務注冊與發現機制&a…

職業教育新形態數字教材的建設與應用:重構教育生態的數字化革命

教育部新時代職業學校名師(名匠)名校長培養計劃專題 四川省第四批職業學校名師(名匠)培養計劃專題 在某職業院校的智能制造課堂上,學生佩戴VR設備,通過數字教材中的虛擬工廠完成設備裝配訓練,系統實時生成操作評分與改進建議。這一場景折射出…

基于Python的攜程國際機票價格抓取與分析

一、項目背景與目標 攜程作為中國領先的在線旅行服務平臺,提供了豐富的機票預訂服務。其國際機票價格受多種因素影響,包括季節、節假日、航班時刻等。通過抓取攜程國際機票價格數據,我們可以進行價格趨勢分析、性價比評估以及旅行規劃建議等…

Windows 圖形顯示驅動開發-初始化WDDM 1.2 和 PnP

(WDDM) 1.2 及更高版本顯示微型端口驅動程序的所有 Windows 顯示驅動程序都必須支持以下行為,以響應即插即用 (PnP) 基礎結構啟動和停止請求。 根據驅動程序返回成功或失敗代碼,或者系統硬件是基于基本輸入/輸出系統 (BIOS) 還是統一可擴展固件接口 (UEF…

【1區SCI】Fusion entropy融合熵,多尺度,復合多尺度、時移多尺度、層次 + 故障識別、診斷-matlab代碼

引言 2024年9月,研究者在數學領域國際頂級SCI期刊《Chaos, Solitons & Fractals》(JCR 1區,中科院1區 Top)上以“Fusion entropy and its spatial post-multiscale version: Methodology and application”為題發表最新科學研…

高并發架構設計之緩存

一、引言 緩存技術作為高并發架構設計的基石之一,通過數據暫存和快速訪問機制,在提升系統性能、降低后端負載方面發揮著不可替代的作用。優秀的緩存設計能夠將系統吞吐量提升數個數量級,將響應時間從秒級降至毫秒級,甚至成為系統…

Unity AI-使用Ollama本地大語言模型運行框架運行本地Deepseek等模型實現聊天對話(一)

一、Ollama介紹 官方網頁:Ollama官方網址 中文文檔參考:Ollama中文文檔 相關教程:Ollama教程 Ollama 是一個開源的工具,旨在簡化大型語言模型(LLM)在本地計算機上的運行和管理。它允許用戶無需復雜的配置…

Docker Python 鏡像使用指南

1. 使用 Python 鏡像創建容器 docker run -itd -v /data:/data python:latest 作用:創建一個基于 python:latest 鏡像的容器,并后臺運行。 參數說明: -itd:交互式后臺運行(-i 交互模式,-t 分配偽終端&…

matlab中Simscape的調用-入門

Simscape 是由 MathWorks 公司開發的一款基于物理建模的仿真工具,它建立在 MATLAB/Simulink 平臺之上,專門用于建模和仿真多領域物理系統。 主要特點 多領域建模:Simscape 提供了豐富的物理元件庫,涵蓋了機械、電氣、液壓、氣動…

Flowable7.x學習筆記(十三)查看部署流程圖

前言 Flowable 的流程圖是 Flowable Modeler 或 Process Editor 中,使用拖拽和屬性面板基于 BPMN 2.0 元素(如任務、網關、事件、序列流等)渲染出的業務流程圖形界面?。 一、將圖形導出可查看的作用 ① 可視化建模 幫助業務分析師和開發者…

Bootstrap 模態框

Bootstrap 模態框 Bootstrap 模態框(Modal)是 Bootstrap 框架中的一個組件,它允許你在一個頁面中創建一個模態對話框,用于顯示內容、表單、圖像或其他信息。模態框通常覆蓋在當前頁面上,提供了一種不離開當前頁面的交…

python-69-基于graphviz可視化軟件生成流程圖

文章目錄 1 Graphviz可視化軟件1.1 graphviz簡介1.2 安裝部署2 基于python示例應用2.1 基本示例2.2 解決中文顯示亂碼2.3 顯示多個輸出邊2.4 顯示輸出引腳名稱2.5 從左至右顯示布局2.6 設置節點為方形3 參考附錄1 Graphviz可視化軟件 1.1 graphviz簡介 Graphviz(Graph Visua…

AJAX 介紹

一、什么是AJAX ? AJAX 是 異步的 JavaScript 和 XML(Asynchronous JavaScript And XML) 的縮寫,是一種實現瀏覽器與服務器進行數據通信的技術。其核心是通過 XMLHttpRequest 對象在不重新刷新頁面的前提下,與服務器交換數據并更…

新ubuntu物理機開啟ipv6讓外網訪問

Ubuntu 物理機 SSH 遠程連接與 IPv6 外網訪問測試指南 1. 通過 SSH 遠程連接 Ubuntu 物理機 1.1 安裝 SSH 服務 sudo apt update sudo apt install openssh-server1.2 檢查 SSH 服務狀態 sudo systemctl status ssh確認出現 active (running)。 1.3 獲取物理機 IP 地址 i…

linux系統上使用nginx訪問php文件返回File not found錯誤處理方案

linux系統上使用nginx訪問php文件返回File not found錯誤處理方案 第一種情況第二種情況 第一種情況 可以在你的location php 里面添加當文件不存在時返回404而不是交給php-fpm進行處理 location ~ \.php$ { ... #文件不存在轉404 try_files $uri 404; ... }然后&#xff0c…

基于 SpringBoot 與 Redis 的緩存預熱案例

文章目錄 “緩存預熱” 是什么?項目環境搭建創建數據訪問層預熱數據到 Redis 中創建緩存服務類測試緩存預熱 “緩存預熱” 是什么? 緩存預熱是一種優化策略,在系統啟動或者流量高峰來臨之前,將一些經常訪問的數據提前加載到緩存中…

java—11 Redis

目錄 一、Redis概述 二、Redis類型及編碼 三、Redis對象的編碼 1. 類型&編碼的對應關系 2. string類型常用命令 (1)string類型內部實現——int編碼 (2)string類型內部實現——embstr編碼 ?編輯 (3&#x…

分布式鏈路追蹤理論

基本概念 分布式調用鏈標準-openTracing Span-節點組成跟蹤樹結構 有一些特定的變量,SpanName SpanId traceId spanParentId Trace(追蹤):代表一個完整的請求流程(如用戶下單),由多個Span組成…

err: Error: Request failed with status code 400

好的,今天學習ai的時候從前端發送請求,實在是想不通為啥會啥是一個壞請求,后來從前端方法一個一個找參數,傳遞的值都有,然后想到我這邊需要傳遞的是一個對象,那么后端使用的RequestParam就接收不到json對象…

開發小程序后端用PHP好還是Java哪個好?

在開發后端時,是選擇PHP還是Java主要取決于你的項目需求、團隊技術棧、性能要求以及維護成本等因素。下面我將從幾個關鍵方面對兩者進行簡要對比,以幫助你做出更明智的選擇。 PHP 優點: 簡單易學:PHP語法簡單,上手快&a…