码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 手把手教你区块链java开发智能合约nft-第一篇


    文章目录

    • 手把手教你区块链java开发智能合约nft-第一篇
    • 安装基础环境
    • 编写智能合约
    • 使用web3j 开源框架生成java代码

    手把手教你区块链java开发智能合约nft-第一篇

    刚接触区块链开发,使用java开发,真的是太难了,自己一步步摸索,从新手小白一路碰壁,动不动就报错,去网上搜索对应错误,还真什么都搜索不到,摸索了三四个月,今天终于有了一些进展,今天开始分享出来,希望能帮助到需要的朋友

    我作为一个java后端的程序员,不会写智能合约,但是可以找对应会的人写,或者自己网上找资料自己写。这里只介绍怎么将智能合约转为java代码

    如何将智能合约转成java代码?
    我了解的有好2两种方式,具体可以参考:

    1. 区块链智能合约转为java代码
    2. web3j 开源框架代码执行转java代码

    我这里主要介绍第二种方式

    安装基础环境

    1. nodejs
    2. truffle #编译智能合约要使用

    基础环境安装不多介绍,具体点击查看安装 nodejs 和truffle

    编写智能合约

    1. 创建文件夹
    mkdir MetaCoin
    cd MetaCoin
    
    • 1
    • 2
    1. 下载(“unbox”) MetaCoin box
    truffle unbox metacoin
    
    • 1

    下载完成后,会看到几个文件夹
    contracts/: Solidity contracts 目录,智能合约代码就在这里编写
    migrations/: Directory for scriptable deployment files
    test/: Directory for test files for testing your application and contracts 测试智能合约的目录,主要写测试用例
    truffle.js: Truffle configuration file ,配置文件

    1. 编译智能合约
      自己编写完智能合约后,执行以下命令进行编译
    truffle compile
    
    • 1

    编译完成后,会生成build目录,目录下会生成.json文件,这些json文件就是用来生成java代码的文件

    使用web3j 开源框架生成java代码

    1. 下载源码
    git clone https://github.com/web3j/web3j.git
    
    • 1
    1. idea打开web3j
      在这里插入图片描述
      idea打开后,会自动下载相关依赖包,下载完成,就可以运行相关的代码,生成java代码了

    2. 找到项目codegen
      找到项目并定位到具体类:org.web3j.codegen.TruffleJsonFunctionWrapperGenerator
      先运行一下main方法,之后在去配置运行参数

    4.配置参数

    • 点击编辑配置
      在这里插入图片描述
    • 配置参数
      在这里插入图片描述
      参数格式如下:
    org.web3j.codegen.TruffleJsonFunctionWrapperGenerator /path/to/<truffle-smart-contract-output>.json -o /path/to/src/main/java -p com.your.organisation.name
    
    • 1

    第一个参数:指定编译后的智能合约对应json串位置
    第二个参数:-o 指定输入java代码的位置
    第三个参数:生成java代码的位置
    第四个参数:-p 指定生成java代码的包名
    第五个参数:生成java代码的包名

    配置完参数之后,点击OK确认保存

    1. 运行TruffleJsonFunctionWrapperGenerator ,就可以将智能合约生成java代码了
  • 相关阅读:
    实战二十五:基于R-NET算法的答案抽取代码+数据 (可作为毕设)
    新能源汽车的能源动脉:中国星坤汽车电缆在新能源汽车电气化中的应用!
    用Python制作截图小工具
    如何对Map集合的key进行大小写转换?
    3年亏9亿,达美乐比萨再次冲击港股IPO结局难料
    Android学习笔记 48. Android 多媒体技术——MediaRecorder录制视频
    Bert不完全手册3. Bert训练策略优化!RoBERTa & SpanBERT
    vue步骤引导插件 vue-intro
    (个人笔记)EDEM耦合Recurdyn流程
    c++异常详解
  • 原文地址:https://blog.csdn.net/huangxuanheng/article/details/125431426
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号