本篇内容将介绍如何将部署好的智能合约整合到Dapp项目中运行。
Dapp架构首先确定我们Dapp的框架,目前使用是KOA架构 + nodejs 。
关于如何搭建koa框架及环境搭建,此处先不详细讲解会另起一篇再来详细介绍一下。
智能合约在Dapp中实现
根据上一篇文章中在remix 线上IDE中编绎生成的合约地址和ABI信息拷贝到项目用一个工具函数封装。
如下图所示
这是项目区块链网络连接的重点,创建Web3对象并配置私有链网络的连接地址参数。以下是代码示例(端口根据你创建私有链网络的配置)
通过web3对象获取eth余额
通过合约获得代币余额
项目完成后使用以下命令启动运行测试,然后根据项目中监听的端口,直接在浏览器上查看效果。
node index.js私有链网络重启为了安全起启,在运行项目前,先重启一下Terminal网络节点,确保运行DApp 合约正常。
重启terminal 窗口,并进行上次创建的geth 节点目录,然后执行跟上次开始执行geth 命令步骤相同
andychendeMacBook-Pro:prechain andy_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_data andy_mac$ lsgeth geth.ipc keystoreandychendeMacBook-Pro:p2_data andy_mac$ geth attach ipc: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插件钱包并登录,选择localhost:8545 连接本地私有链
点击Metamask右上角用户,然后导入本地创建的新钱包地址,私有链钱包地址存放位置是在节点目录下的keystore目录。
导入钱包地址成功后可以看到类似以下图的一些个人账号信息,此时你就可以在你的Dapp应用中正常进行相关的交易操作了。
Dapp是属于应用层的开发,如何设计出一款受欢迎的Dapp, 关键就是如何把智能合约设计得更合理更规范更符合市场的需要;本文算是私有链开发相关的收尾之作,它是以前两篇为基础实现基于私有链网络上开发Dapp,目的是为了在非公网情况下更方便更有效地满足本地开发的需要。感谢您的阅读,下一篇再见!
以上就是智能合约在DApp项目中使用的全部内容,望能这篇智能合约在DApp项目中使用可以帮助您解决问题,能够解决大家的实际问题是塔岸网一直努力的方向和目标。
香港持牌加密货币交易所HashKey Exchange 周三(1日)正式推出行动端应用程序,为专业投资人和零售用户提供服务。HashKey 营运长Livio Weng 受访表示,HashKey 还计划铸造自己的ERC-20 应用型代币HSK,可能会在明年年中上市。App 正式上线根据《The Blo...
11-15
Sushi 社群成员在治理论坛发布提案,拟议恢复SUSHI 代币的价值与功能,并让DAO 重新掌握协议治理权。Sushi 社群起义重拾治理权社群成员Trantor 表示,自从Kanpai 2.0 于2022 年12 月推出以来,所有协议费用都流入国库,尽管这有助于确保国库能够获得充足的资金,但核心团...
11-15
继贝莱德的IBTC 之后,景顺(Invesco)与Galaxy 共同提交的比特币现货ETF 也在美国证券存托清算公司的清单(DTCC)上架,股票代码为BTCO。标志着这两档ETF 申请正朝着标准程序持续推进。需要再次重申的是,许多人甚至会误将「上架DTCC」视为比特币现货ETF 批准的预告,但事实上...
11-15
由于传统金融体系缺乏信任而诞生的加密行业,逐渐崭露头角,并引发了人们的思考以及全球范围内的广泛关注,迄今已经成长为万亿美元市场。但作为没有任何参考的新兴行业,加密市场为传统金融市场带来创新与注入活力的同时,各种突现的黑天鹅事件也不容忽视,合规透明正成为其未来发展的主旋律。作为全球领先的加密资产交易所...
11-15
根据英国金融行为监理总署 (Financial Conduct Authority, FCA) 官方公告显示,知名交易所 Bitfinex 被列为未经当局授权的警告名单。FCA:Bitfinex 在未经授权下推广英国金融行为监理总署 (Financial Conduct Authority, FCA...
11-15