智能合约在DApp项目中使用
2025-10-31 14:56:21
本篇内容将介绍如何将部署好的智能合约整合到Dapp项目中运行。
Dapp架构
首先确定我们Dapp的框架,目前使用是KOA架构 + nodejs 。
项目架构图

关于如何搭建koa框架及环境搭建,此处先不详细讲解会另起一篇再来详细介绍一下。
智能合约在Dapp中实现
如何在项目中配置合约信息
根据上一篇文章中在remix 线上IDE中编绎生成的合约地址和ABI信息拷贝到项目用一个工具函数封装。
如下图所示
如何基于私有网络创建Web3 对象
这是项目区块链网络连接的重点,创建Web3对象并配置私有链网络的连接地址参数。以下是代码示例(端口根据你创建私有链网络的配置)
通过web3对象获取eth余额
通过合约获得代币余额
项目完成后使用以下命令启动运行测试,然后根据项目中监听的端口,直接在浏览器上查看效果。
node index.js
私有链网络重启
为了安全起启,在运行项目前,先重启一下Terminal网络节点,确保运行DApp 合约正常。
重启terminal 窗口,并进行上次创建的geth 节点目录,然后执行跟上次开始执行geth 命令步骤相同
andychendeMacBook-Pro:prechainandy_mac$lseth_data genesis.json p2_dataandychendeMacBook-Pro:prechain andy_mac$ geth --networkid 555 --dev --datadir "p2_data" --rpc --rpcaddr 127.0.0.1 --rpcport 8545 --port 3005
另外再启动一个新Terminal窗口,然后执行geth attach 加截节点并打开console
andychendeMacBook-Pro:p2_dataandy_mac$lsgethgeth.ipckeystoreandychendeMacBook-Pro:p2_dataandy_mac$gethattachipc:geth.ipcWelcome to the Geth JavaScript console!
验证私有链网络是否已启动运行正常
> personal.listAccounts
["0x7607a55b06370e59d041fc7b10ef85a327c61a79","0x7fcf166700c24466b7d57df5096136a52c0ffd1f","0x0a625c2e24b0aa7ae36982d4703f29973a940b78","0x0ca0685c064ec9aec2b602616823bd9b051ba246"]
> eth.getBalance(eth.accounts[0])
1.15792089237316195423570985008687907853269984665640564039455854007913129660935e+77
> eth.getBalance(eth.accounts[1])
200000000000000000
> eth.getBalance(eth.accounts[2])
1029999999999978992
> eth.getBalance(eth.accounts[3])
500000000000000000
> miner.setEtherbase(eth.accounts[2])
true
> miner.coinbase
undefined
> eth.coinbase
"0x0a625c2e24b0aa7ae36982d4703f29973a940b78"
>
如果验证网络处理正常状态,此时可以在浏览器中体验Dapp项目
注意:在dapp 中执行一笔交易后,需要回到terminal 上执行挖矿才最终达成交易,miner.start(1) —> miner.stop()
区块链钱包
使用Metamask 浏览器插件钱包
(如何安装Metamask插件,在另外篇文环境搭建中介绍)
打开metamask插件钱包并登录,选择localhost:8545 连接本地私有链
点击Metamask右上角用户,然后导入本地创建的新钱包地址,私有链钱包地址存放位置是在节点目录下的keystore目录。
导入钱包地址成功后可以看到类似以下图的一些个人账号信息,此时你就可以在你的Dapp应用中正常进行相关的交易操作了。
结语
Dapp是属于应用层的开发,如何设计出一款受欢迎的Dapp, 关键就是如何把智能合约设计得更合理更规范更符合市场的需要;本文算是私有链开发相关的收尾之作,它是以前两篇为基础实现基于私有链网络上开发Dapp,目的是为了在非公网情况下更方便更有效地满足本地开发的需要。感谢您的阅读,下一篇再见!
相关阅读
-
李斌预警:未来 1-2 年车市迎最残酷决赛,车企如何熬过寒冬?链资讯 2026-05-27 14:12:30
-
加密货币滑点全解析:定义、计算公式与降低技巧链百科 2026-05-27 14:12:20
-
BabyBoomToken (BBT 币) 深度解析:项目介绍、投资价值与价格走势分析链知识 2026-05-27 14:10:28
-
Framer 跨界推出限量机械键盘:自带网站流量统计屏,售价 3000 元仅 350 把链资讯 2026-05-27 14:06:57
-
ALGO 是什么币?深度解析 Algorand 运作机制与投资价值链百科 2026-05-27 14:02:18
-
北京大学认证:华为逻辑折叠技术才是真 3D,揭秘此前赝 3D 真相链资讯 2026-05-27 14:00:53
-
探索星空无限官网登录入口:全新直播视频软件的魅力与特色链资讯 2026-05-27 14:00:37
-
第二艘国产大型邮轮“爱达·花城号”试航成功,11 月正式交付链资讯 2026-05-27 13:55:37
-
加密货币订单簿详解:定义、工作原理与交易实战指南链百科 2026-05-27 13:52:33
-
以太坊 2026 年升级计划:次数、关键因素与未来展望链知识 2026-05-27 13:52:12