使用web3 部署智能合约

2023-11-06

    CentOS 7 环境 web3安装 及 对象的创建_m0_47233175的博客-CSDN博客https://blog.csdn.net/m0_47233175/article/details/121960931还未安装web3环境,请参照以上博文

1.创建 abi对象 保存合约编译后的abi文件

var abi = [{"inputs":[],"name":"getData","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"a","type":"uint256"},{"internalType":"uint256","name":"b","type":"uint256"}],"name":"pureAdd","outputs":[{"internalType":"uint256","name":"sum","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"newData","type":"uint256"}],"name":"setData","outputs":[],"stateMutability":"nonpayable","type":"function"}]

注:等式右边请输入你自己智能合约的abi

将 .sol 文件编译为 abi 文件,请执行以下代码

solcjs --abi SimpleStorage.sol

solcjs的安装请参照以下博文

 CentOS 7 环境 npm及solc的配置安装_m0_47233175的博客-CSDN博客https://blog.csdn.net/m0_47233175/article/details/1219597782.创建合约实例

var Contract = web3.eth.contract(abi)

3.创建对象保存智能合约的字节码

var byteCodes = '0x'+'608060405234801561001057600080fd5b50610266806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80633bc5de30146100465780635b4b73a914610064578063aea3f28c14610080575b600080fd5b61004e6100b0565b60405161005b91906100f2565b60405180910390f35b61007e6004803603810190610079919061013e565b6100b9565b005b61009a6004803603810190610095919061016b565b6100c3565b6040516100a791906100f2565b60405180910390f35b60008054905090565b8060008190555050565b600081836100d191906101da565b905092915050565b6000819050919050565b6100ec816100d9565b82525050565b600060208201905061010760008301846100e3565b92915050565b600080fd5b61011b816100d9565b811461012657600080fd5b50565b60008135905061013881610112565b92915050565b6000602082840312156101545761015361010d565b5b600061016284828501610129565b91505092915050565b600080604083850312156101825761018161010d565b5b600061019085828601610129565b92505060206101a185828601610129565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006101e5826100d9565b91506101f0836100d9565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115610225576102246101ab565b5b82820190509291505056fea2646970667358221220285cd0219738571b50d7f92ff2d9fe2bff2a520218860de30eaebb5d92a678cb64736f6c634300080a0033'

注:等式右边请输入你自己智能合约的bin,并加上 ' 0x ' 。

将 .sol 文件编译为 bin 文件,请执行以下代码

solcjs --bin SimpleStorage.sol

4.创建一个部署合约的交易对象

var deployTxObject = {from:web3.eth.accounts[0],data: byteCodes, gas:1000000}

5.提交部署合约的交易

var contractInstance = Contract.new(deployTxObject)

若已经部署过该合约,合约已经有address,则使用地址初始化合约实例

var contractInstance = Contract.at(address)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用web3 部署智能合约 的相关文章

随机推荐

  • flutter 高德地图 amap_flutter_location 隐私合规校验失败

    flutter 高德地图 amap flutter location 隐私合规校验失败 提醒 ios版本他的最新库是没有办法使用的 如果你的项目需要使用到iOS版本 请使用下面的路径 https github com yangsiyi41
  • 微信开发(js-sdk)中遇见的各种问题

    微信开发的准备工作 不熟 不是我来搞的 copy一下别人和官方的 1 绑定域名 先登录微信公众平台进入 公众号设置 的 功能设置 里填写 JS接口安全域名 备注 登录后可在 开发者中心 查看对应的接口权限 2 引入js文件 在需要调用JS接
  • 动态路由协议RIP配置实战

    1 RIP简介 RIP是一种基于距离矢量 Distance Vector 算法的协议 它使用跳数 Hop Count 作为度量值来衡量到达目的地址的距离 在RIP网络中 RIP协议要求网络中每一台路由器都要维护从自身到每一个目的网络的路由信
  • Kettle-动态数据链接,使JOB得以复用

    动态数据连接 使JOB得以复用 背景 移动执法系统在目前的主要的部署策略为1 N的方式 即总队部署一套 地市各部署一套 且基本都在环保专网 各地市的业务数据需要推送到总队系统 以便总队系统做整体的监督 决策 在整个数据对接过程中 基于Ket
  • Matlab导入txt文件

    有三种常见的方式 1 A importdata filename txt 则A就是n m的矩阵了 2 load filename txt 这样也是载入n m的矩阵 3 在MATLAB的work文件夹下 选择想要导入的数据 用右键import
  • 前端系列-1 HTML+JS+CSS基础

    背景 前端系列会收集碎片化的前端知识点 作为自己工作和学习时的字典 欢迎读者收藏和使用 笔者是后端开发 前端涉猎不深 因此文章重在广度和实用 对原理和性能不会过多深究 1 html 1 1 html5网页结构
  • 如何判断两条线段是否相交

    本篇是在 C 笔记 如何判断2个线段相交 的基础上加上自己的理解和实践总结出的判断两线段是否相交的方法 判断两条线段是否相交 先附上判断函数 bool judge int Ax1 int Ay1 int Ax2 int Ay2 int Bx
  • vue3的ref,unref,reactive,toRefs,toRef

    ref函数 接受一个初始值并返回一个响应式且可变的 ref 对象 ref 对象仅有一个 value属性 指向该初始值 const count ref 0 console log count value 0 count value conso
  • 判断图连通性的三种方法

    在看哥尼斯堡七桥问题的时候 谈到欧拉回路的问题 不免又想到了图的连通性 想到以后说不定会遇到相关问题 就做下连通性判断算法总结实现 如果一个图是连通的 那么从一个节点开始访问 采用深度优先或者广度优先对它进行遍历 那么必定能够访问完所有的节
  • xml转JavaBean

    在进行webservice通信的时候 需要解析xml为一个对象 由于个人也是第一次接触xml转对象 于是参考网上的例子写了一个工具类 所有jar包支持 fastjson dom4j public class XmlConverBeanUti
  • 数字化转型:科技赋能供给创造需求 附下载

    疫情对各行业及科创的影响我们都深切地感受到了 像AI家居 AR游戏等比较火爆的项目都是在疫情中喷发 此报告结合疫情驱动新兴技术演变及商业落地的态势 探讨数字化对于科创的意义 报告亮点 5G商业化将伴随成熟应用由点向面展开 人工智能和企业数字
  • 06-底层必备源码-JVM底层-GC算法流程(自我总结)

    一 判断 是否GC 的算法 1 引用计数法 1 1 规则 如果这个obj被引用 计数器 1 引用失效 计数器 1 当一个obj的引用计数器为0 就不代表被使用 1 2 缺点 不能解决循环引用的问题 2 可达性分析算法 2 1 规则 以GCr
  • Keras CIFAR-10图像识别数据集 2021-07-10

    Keras CIFAR 10图像识别数据集 一 下载CIFAR 10数据 1 导入所需模块 from keras datasets import cifar10 import numpy as np np random seed 10 2
  • 万事开头难——Android SDK安装

    首届 Google 暑期大学生博客分享大赛 2010 Andriod 篇 今天研究了一上午才把SDK安装成功 真是万事开头难 下面就把安装的过程分享出来 Eclipse Android SDK 2 1环境部署 一 第一步安装JDK Java
  • t检验与Z检验的区别

    在统计学中 假设检验是评估某种特定情况下观察到的数据是否符合假设的一种方法 t检验和Z检验是两种常用的假设检验方法 分别用于比较均值差异以及比例差异 在医学统计中 t检验和Z检验经常被用于研究和比较不同治疗方法的效果 例如药物疗效 手术效果
  • spring JavaBean引入JavaBean ( 外部引用, 内部定义, 级联属性 )

  • 探针漏洞_长亭xray:一款自动化Web漏洞扫描神器(免费社区版)

    xray 简介 xray 是从长亭洞鉴核心引擎中提取出的社区版漏洞扫描神器 支持主动 被动多种扫描方式 自备盲打平台 可以灵活定义 POC 功能丰富 调用简单 支持 Windows macOS Linux 多种操作系统 可以满足广大安全从业
  • java删除指定目录下的文件(包括目录)

    代码 import java io File public class Test 判断指定的文件或文件夹删除是否成功 param FileName 文件或文件夹的路径 return true or false 成功返回true 失败返回fa
  • 网络综合布线实训室方案(2023版)

    综合布线实训室概述 随着智慧城市的蓬勃发展 人工智能 物联网 云计算 大数据等新兴行业也随之崛起 网络布线系统作为现代智慧城市 智慧社区 智能建筑 智能家居 智能工厂和现代服务业的基础设施和神经网络 发挥着重要作用 实践表明 网络系统故障的
  • 使用web3 部署智能合约

    CentOS 7 环境 web3安装 及 对象的创建 m0 47233175的博客 CSDN博客https blog csdn net m0 47233175 article details 121960931还未安装web3环境 请参照以