近正在肝qukuailian知识学习,入手学习智能合约的kaifa,由于网上资料实在是太少了,好不容易东拼西凑完成了智能合约的kaifa、编译、部署、web3js调用(网页页面)和web3j调用(java调用),赶紧趁热把重点提炼出来。
先上图,是我近学习知识点的一个概括总结,此外还包含了关键命令和操作步骤。
我智能合约kaifa的技术选型是Solidity+web3j+Java,工具选型是VSCode+solcjs+web3js+web3j+Ganache
kaifa智能合约的关键步骤:
kaifa语言
90.4%用Solidity,7.2%用Vyper其他小众语言可忽略,因此kaifa智能合约主流选用Solidity,这也是我学习语言
合约kaifa环境必备
nodejs(其他所有前置)
vscode
vscode的Solidity插件
ganache的appx或ganache-cli
提供测试网络,部署合约必要
vscode的solcjs插件,用于命令行将.sol编译出.abi和.bin,web3j前一步必要动作,输出后的俩文件使用web3j生成.java
web3j工具(.bat执行一次即可,用于生成java可以调用的合约代码)
web3j此外还可以创建钱包,执行web3jcreate命令按帮助指引
truffle(npm安装,用于编译运行智能合约)
metamask的chrome浏览器插件,用于浏览器钱包功能,当web客户端“写操作”时需调用有钱钱包
客户端准备
web客户端(Vue项目)
web3.js脚本引用,用于提供web3访问接口
abi.js存放合约abi内容,用于提供合约接口
java客户端(SpringBoot或其他后台项目)
pom依赖引用:org.web3j,junit
XX.java合约java版代码
客户单可以执行的操作
合约的部署或加载已有合约,合约调用,读操作,写操作(写操作与读不同,需要关联有钱的钱包)
kaifa命令
创建合约
VSCODE命令行:在工程空目录当前执行truffleinit,即可初始化项目应有文件夹目录
VSCODE命令行:trufflecreatecontracthello,创建一个hello.sol的合约文件
编译
VSCODE命令行:trufflecompile
部署
VSCODE命令行:trufflemigrate
访问合约
命令行方式:VSCODE命令行:truffleconsoleleth=awaithello.deployed()h.sayHello()h.addRecord("hh")h.getRecord()
java后端方式
在vscode控制台.sol所在目录执行:solcjs--bin--abihello.sol-o./
在sol所在目录打开cmd,执行(执行前本目录会有.bin和.abi两个文件)web3jsoliditygenerate--javaTypeshello_sol_hello.binhello_sol_hello.abi-o./-pcom.test
将sol同目录的java代码拷贝到java工程中即可进行合约调用
初始化代码:配置好合约地址contractaddress和钱包秘钥(钱包秘钥用ganache中提供的测试账号小钥匙秘钥串即可用)
vue前端方式
引用文件web3.js,abi.js(abi.js内容为合约abi内容是一个json文本段)
添加包web3
环境安装命令
truffle
npminstall-gtruffle
web3j
运行web3j.bat文件后命令行可跑web3jXXX命令
- 短剧app小程序开发付费系统开发 2024-11-25
- 网络短剧授权小程序系统定制 2024-11-25
- 短剧小程序软件平台系统开发模式 2024-11-25
- 仿短剧小程序系统开发平台软件 2024-11-25
- 短剧CPS追剧小剧场APP软件 2024-11-25
- 海外短剧分销系统短剧小程序APP软件开发 2024-11-25
- 短剧小剧场软件APP开发 2024-11-25
- 短剧小剧场软件系统开发 2024-11-25
- 短剧小程序搭建软件定制 2024-11-25
- 短剧小程序分销变现系统开发 2024-11-25
- 模拟养动物经营游戏app软件开发 2024-11-25
- 赛博空间模拟养殖动物游戏开发 2024-11-25
- 赛博空间模拟养殖宠物游戏定制开发 2024-11-25
- 模拟小镇手游游戏APP软件开发 2024-11-25
- 赛博空间卷轴系统搭建开发 2024-11-25
联系方式
- 电 话:15515813000
- 联系人:王乾
- 手 机:15515813000
- 微 信:15515813000