windows10 java 创建合约

news2024/11/16 7:35:15

a. 安装Nodejs 主要是方便使用npm 命令 并配置环境变量 

b.使用 npm 可以便捷地安装Solidity编译器solcjs

 npm install -g solc

c.找个目录 创建一个solidity文件 如

// SPDX-License-Identifier: GPL-3.0

pragma solidity >=0.8.2 <0.9.0;

/**
 * @title Storage
 * @dev Store & retrieve value in a variable
 * @custom:dev-run-script ./scripts/deploy_with_ethers.ts
 */
contract Storage {

    uint256 number;

    /**
     * @dev Store value in variable
     * @param num value to store
     */
    function store(uint256 num) public {
        number = num;
    }

    /**
     * @dev Return value 
     * @return value of 'number'
     */
    function retrieve() public view returns (uint256){
        return number;
    }
}

 

  • 在刚才的目录下,输入cmd回车,进入控制台 执行
  • solcjs --abi --bin Storage.sol

    生成abi 和 bin文件

  •  d.下载代码web3j生成器 地址是 web3j java生成器

  •  解压以后 有lib 和 bin 两个目录

  •  控制台今日到bin目录 执行命令

  • web3j generate solidity -b D:\eth\simpleStorege_sol_Storage.bin -a D:\eth\simpleStorege_sol_Storage.abi  -o . -p org.web3j.generated.contracts
    
    其中 org.web3j.generated.contracts 是生成代码的目录

     出现下图标识  代表生成成功 则可以进入查找

  •  pom文件需要引入的依赖有】

  • <dependency>
                <groupId>org.web3j</groupId>
                <artifactId>core</artifactId>
                <version>3.6.0</version>
            </dependency>
            <dependency>
                <groupId>org.web3j</groupId>
                <artifactId>utils</artifactId>
                <version>4.1.1</version>
            </dependency>
            <dependency>
                <groupId>org.web3j</groupId>
                <artifactId>geth</artifactId>
                <version>3.2.0</version>
            </dependency>
            <dependency>
                <groupId>org.web3j</groupId>
                <artifactId>core</artifactId>
                <version>4.8.4</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.jetbrains.kotlin</groupId>
                        <artifactId>kotlin-stdlib</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.squareup.okhttp3</groupId>
                        <artifactId>okhttp</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
           <dependency>
                <groupId>org.web3j</groupId>
                <artifactId>codegen</artifactId>
                <version>5.0.0</version>
            </dependency>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/420135.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ChatGPT引爆AI热潮,未来有哪些核心落地场景与投资机遇?

自ChatGPT面世以来&#xff0c;AI行业再度被引爆&#xff0c;AI大模型作为新一代颠覆性技术同时掀起了一波又一波热潮&#xff0c;头部厂商与创业者纷纷涌入&#xff0c;备受业界瞩目与市场追捧。 在这汹涌的狂欢背后&#xff0c;实则代表着AI发展的阶跃&#xff0c;即AI直接创…

和ChatGPT关于Swing music的一场对话(上篇)

什么是 Swing Music &#xff1f; Swing Music 是一款漂亮的自托管音乐播放器&#xff0c;适用于您的本地音频文件。就像一个更酷的 Spotify …但带上你自己的音乐。 第一次在 reddit 上看到 Swing Music&#xff0c;就被其 UI 吸引了 但源码站点的releases 中只有 windows 和 …

凌恩生物美文分享|转录组研究利器——三代全长转录组测序(Iso-Seq)

近年来&#xff0c;随着高通量测序技术的发展&#xff0c;转录组测序已经成为研究基因表达调控的主要手段。我们知道&#xff0c;很多物种的转录本非常多样和复杂&#xff0c;绝大多数真核生物基因不符合“一基因一转录本”的模式&#xff0c;这些基因往往存在多种剪切形式。通…

学习着编写了一款chrome小插件

背景介绍 半年前有幸分享了一下浏览器开发者工具的技术分享&#xff0c;当时的PPT在写至最后处总感觉理论讲解多于代码分享&#xff0c;于是琢磨着编写一下相关的代码&#xff0c;在经过一番苦思冥想后最终锁定了浏览器插件编写的实现上&#xff0c;所以在经过一番知识百科后&…

(OpenAI)ChatGPT注册登录常见问题错误代码及其解决方法

在使用 ChatGPT 的时候我们可能会碰到一些错误的代码&#xff0c;本文统一来介绍一下每一种错误以及解决方法。 错误代码1. 不能在当前国家使用 出现场景&#xff1a;一般在注册或登录的时候会出现。 原因&#xff1a;主要是ChatGPT检测到当前访问所在的地区不允许访问导致。 …

如何在Java中使用同步回调和异步回调

文章目录&#xff08;一&#xff09;同步回调&#xff08;1&#xff09;匿名内部类回调&#xff08;2&#xff09;Lambda 回调&#xff08;二&#xff09;异步回调&#xff08;1&#xff09;简单的线程回调&#xff08;2&#xff09;异步并行回调&#xff08;3&#xff09;Comp…

python 时间序列分解案例——加法分解seasonal_decompose

文章目录一、模型简介1.1 加法分解模型1.2 乘法分解模型1.3 分析步骤二、案例2.1 背景 & 数据 & python包2.2 分析过程一、模型简介 1.1 加法分解模型 加法分解模型适用于随着时间推移趋势和季节性变化不断累加&#xff0c;并且随机波动比较稳定的时间序列数据。该模…

初识linux之线程互斥

目录 一、线程互斥的概念 1. 多线程下全局数据的安全问题 2 线程互斥相关背景概念 二、线程加锁 1. 锁生成和销毁 2. 对一个锁加锁 3. 对一个锁解锁 三、解决多线程并发式访问临界资源问题 四、如何看待锁 1. 锁限制线程串行访问 2. 加锁和解锁的原子性 五、对锁进…

数学体操之牛顿数值法解方程的程序和图解

牛顿法是一种用来寻找函数零点的迭代方法&#xff0c;它基于以下思路&#xff0c;如果我们知道了一个函数在某个点的切线&#xff0c;那么函数的零点就可以通过切线与x轴的交点来近似计算。 给定一个函数,找到零点,过程如下: 选择初始点,然后使用这个点处的切线来近似,也就是…

java超详细的jvm调优

JVM调优 看这篇博客之前&#xff0c;可以先看我另外两篇 Java虚拟机&#xff08;Jvm详解&#xff09; Java垃圾回收机制(后续更新) 下面主要从以下几个方面进行展开描述&#xff1a; JVM实践调优主要步骤分析GC日志堆内存与元空间优化线程堆栈优化堆内存内部优化&#xff…

软件质量保证与软件测试 第五周(数据流测试)+第六周(集成测试开了个头)

数据流测试 1 定义/使用测试 一些概念的定义 例题理解概念 例子1&#xff1a; 定义清除的理解&#xff1a;就是说&#xff0c;如果路径上又遇到了其他定义节点&#xff0c;那就不是。 例子2&#xff1a; 第一步&#xff1a;先画程序图&#xff1a; 第二步&#xff1a;再…

什么是 AWS Lambda 冷启动问题?

什么是 AWS Lambda 冷启动问题&#xff1f; AWS Lambda 是一个无服务器计算平台&#xff0c;使开发人员能够快速构建和部署应用程序&#xff0c;而无需管理任何底层基础设施。但是&#xff0c;这种便利性也带来了一个缺点&#xff0c;即 AWS Lambda 冷启动问题。由于冷启动问题…

sgg第二天Java的语法

关键字 关键字(keyword)的定义和特点 定义&#xff1a;被Java语言赋予了特殊含义  特点&#xff1a;关键字中所有字母都为小写  注意,关键字不能被用作标识符&#xff01; 保留字 Java保留字&#xff1a;现有Java版本尚未使用&#xff0c;但以后版本可能会作为关键字使 …

Qt Quick - 弹出控件综述

Qt Quick - 弹出控件综述一、概述一、抽屉控件二、菜单控件三、弹出控件四、工具提示控件一、概述 控件功能Dialog带有标准按钮和标题的弹出式对话框&#xff0c;用于与用户进行短期交互Drawer可以用滑动手势打开和关闭的侧面板Menu弹出式菜单&#xff0c;可以用作上下文菜单或…

springboot事务

对于从事 java 开发工作的同学来说&#xff0c;spring 的事务肯定再熟悉不过了。 在某些业务场景下&#xff0c;如果一个请求中&#xff0c;需要同时写入多张表的数据。为了保证操作的原子性&#xff08;要么同时成功&#xff0c;要么同时失败&#xff09;&#xff0c;避免数据…

设备是如何实现延时关机的

文章目录1. 引言2. 延时关机的实现方式2.1 自建定时服务实现2.2 RocketMQ中间件实现2.2.1 生成端demo2.2.2 消费端demo3. 结尾1. 引言 在设备联动中&#xff0c;有些场景需要保持设备继续工作一段时间再关机。比如在厨房场景下&#xff0c;存在燃气灶和烟机的联动场景&#xf…

基于kettle部署图形化界面(spoon)

最近使用kettle部署windows&#xff0c;mac、linux服务遇到的坑做一个总结。 1、mac、linux部署&#xff1a; 1⃣️拉取docker镜像 docker pull hiromuhota/webspoon 2⃣️创建并运行docker容器 docker run -d -p 8080:8080 hiromuhota/webspoon --name webspoon --restar…

HTML:彩虹按钮

彩虹按钮&#xff08;盗版按钮&#xff0c;B站仿写&#xff0c;略有不同&#xff01;&#xff09; 链接 <html><head><title>demo</title><style>*{margin: 0;padding: 0;}body{display: flex;justify-content: center;align-items: center;…

【hello Linux】Linux软件管理器yum

目录 1.Linux软件管理器yum 1.1 关于lrzsz 1.2 使用yum时的注意事项 1.3 查看软件包&#xff1a;yum list 1.4 安装软件&#xff1a;yum install 1.5 卸载软件&#xff1a;yum remove 1.6 更新yum源 1.7 实战项目 Linux&#x1f337; 1.Linux软件管理器yum 在windows系统下有应…

交友项目【查询黑名单人员,移除黑名单人员】功能实现

目录 1&#xff1a;交友项目 1.1&#xff1a;查询黑名单人员 1.1.1&#xff1a;接口地址 1.1.2&#xff1a;流程分析 1.1.2&#xff1a;代码实现 1.2&#xff1a;移除黑名单人员 1.2.1&#xff1a;接口地址 1.2.2&#xff1a;流程分析 1.2.3&#xff1a;代码实现 1&am…