写点什么

DAPP 智能合约链游开发源码案例丨 DAPP 智能合约链游系统开发(逻辑及方案)

  • 2023-03-11
    广东
  • 本文字数:1022 字

    阅读完需:约 3 分钟

DAPP智能合约链游开发源码案例丨DAPP智能合约链游系统开发(逻辑及方案)

元宇宙是上层建筑,Web3.0 是基础设施:Web3.0 和元宇宙均代表互联网的未来,Web3.0 代表的是技术发展方向,而元宇宙代表了未来应用场景和生活方式,两者相辅相成,呈现一体两面的关系。


Web3.0 技术与核心特征:Web3.0 是元宇宙的底座,技术包括区块链、人工智能、大数据等技术和用户共识社区(DAO)等,核心特征为用户隐私保护能力加强、去中心化组织形态、价值互联互通、“平行空间”成为现实


What is DApp 开发功能及详细 I35 模式 7O98 逻辑 O7I8


"DApp"stands for decentralized applications.Like traditional applications,decentralized applications also have front-end(client)and back-end(server).The user interface of DApp can be written in any language(like traditional applications),and its back end can be called.So,how is Dapps different from traditional applications?The back-end code of DApp runs on a distributed peer-to-peer network(i.e.blockchain).


使用 web3py 部署智能合约并调用


前提:启动本地 geth 节点,开启相关 rpc 服务,默认端口为 8545,本人是在虚拟机中配置了 geth 节点


使用 solc 或者 solcjs 编译智能合约生成 abi 和 bin,solc 指令为控制台输出,solcjs 会保存成文件。


solc--bin Voting.sol


solc--abi Voting.sol


安装包 web3py 开发案例源码:MrsFu123


pip install web3py


import json


from web3 import Web3


web3=Web3(Web3.HTTPProvider('http://ip:8545'))


print(web3.isConnected())


account=web3.eth.accounts[0]


#读取文件中的 abi 和 bin,也可以当场生成


with open('dataVoting_sol_Voting.abi','r')as f:


abi=json.load(f)


with open('dataVoting_sol_Voting.bin','r')as f:


code=f.read()


newContract=web3.eth.contract(bytecode=code,abi=abi)


#发起交易部署合约,


option={'from':account,'gas':1000000}


web3.geth.personal.unlock_account(account,'123')


tx_hash=newContract.constructor([b'dog',b'cat',b'bird']).transact(option)


#等待挖矿使得交易成功


tx_receipt=web3.eth.waitForTransactionReceipt(tx_hash)


print(tx_receipt.contractAddress)


合约部署成功后就可以调用了,如果需要改变数据需要使用 transac()发起交易,并等待挖矿确认,只是读取则使用 cal()即可


#调用合约,合约地址就是刚刚控制台打印的


address=web3.toChecksumAddress("0x6999C68d214E1d193534601759b7F1eC534597Bf")


c=web3.eth.contract(address,abi=abi)


print(c.functions.totalVotesFor(b'dog').call())

用户头像

还未添加个人签名 2020-12-10 加入

还未添加个人简介

评论

发布
暂无评论
DAPP智能合约链游开发源码案例丨DAPP智能合约链游系统开发(逻辑及方案)_系统开发咨询1357O98O718_InfoQ写作社区