以太坊智能合约部署与交互

2023-11-06

启动容器来执行geth命令

root@ubu-blockchain2:~# docker run -i blockchain101/ethereum-geth:1.6.5 geth attach http://45.32.252.88:8201
Welcome to the Geth JavaScript console!

instance: Geth/01/v1.6.5-stable/linux-amd64/go1.8
coinbase: 0x4c57e7e9c2f728046ddc6e96052056a241bdbd0a
at block: 6064 (Wed, 02 Aug 2017 01:13:50 UTC)
 datadir: /ethcluster/779977/data/01
 modules: admin:1.0 eth:1.0 net:1.0 rpc:1.0 web3:1.0

查看我们的账户和余额


eth.getBalance(eth.accounts[0])

11000000000000000000
eth.getBalance(eth.accounts[1])
0
eth.accounts[0]
"0x4c57e7e9c2f728046ddc6e96052056a241bdbd0a"
> eth.accounts[1]
"0xe82e2f0a5abd8774767b9751659976f9c4f59181"

发起一笔交易


eth.sendTransaction({
   from:eth.accounts[0],to:eth.accounts[1],value:web3.toWei(3,'ether')})

"0x0075da712d26aea17d6647035107f509e13eaf3d113c1577db14d4cc4216caec"

查看交易细节


>  eth.getTransaction("0x0075da712d26aea17d6647035107f509e13eaf3d113c1577db14d4cc4216caec")

{
  blockHash: "0x3115703894dc6015c96ef4de3e5615f416498ca1f985902b38cd70e27dab8871",
  blockNumber: 1250,
  from: "0x4c57e7e9c2f728046ddc6e96052056a241bdbd0a",
  gas: 90000,
  gasPrice: 18000000000,
  hash: "0x0075da712d26aea17d6647035107f509e13eaf3d113c1577db14d4cc4216caec",
  input: "0x",
  nonce: 0,
  r: "0x2aef2c1fa03a0fa4172d21e3383d8c0431d45ec855b9d16efdd5eb2de90c414c",
  s: "0xc4d530fb7902bf509fe56bfbea4861bf6cc16791afc9c9103c1a18f77407d1f",
  to: "0xe82e2f0a5abd8774767b9751659976f9c4f59181",
  transactionIndex: 0,
  v: "0x17cdb6",
  value: 3000000000000000000
}
> eth.getBalance(eth.accounts[1])

3000000000000000000

验证用户0的余额


> eth.getBalance(eth.accounts[0])

7999622000000000000

编写一个简单的合约



contract Sample {
    uint public value;

          function Sample(uint v){
                    value=v;
          }

          function set(uint v){
                    value=v;
          }

          function get() constant returns (uint){
                    return value;
          }
}

remix网页编译得到ABI接口和合约的二进制代码、

 abi=[{
  "constant":true,"inputs":[],"name":"value","outputs":[{
  "name":"","type":"uint256"}],"payable":false,"type":"function"},{
  "constant":false,"inputs":[{
  "name":"v","type":"uint256"}],"name":"set","outputs":[],"payable":false,"type":"function"},{
  "constant":true,"inputs":[],"name":"get","outputs":[{
  "name":"","type":"uint256"}],"payable":false,"type":"function"},{
  "inputs":[{
  "name":"v","type":"uint256"}],"payable":false,"type":"constructor"}]



[{
    constant: true,
    inputs: [],
    name: "value",
    outputs: [{
        name: "",
        type: "uint256"
    }],
    payable: false,
    type: "function"
}, {
    constant: false,
    inputs: [{
        name: "v",
        type: "uint256"
    }],
    name: "set",
    outputs: [],
    payable: false,
    type: "function"
}, {
    constant: true,
    inputs: [],
    name: "get",
    outputs: [{
        name: "",
        type: "uint256"
    }],
    payable: false,
    type: "function"
}, {
    inputs: [{
        name: "v",
        type: "uint256"
    }],
    payable: false,
    type: "constructor"
}]

需要使用eth.contract来定义一个合约类


> sample=eth.contract(abi)

{
  abi: [{
      constant: true,
      inputs: [],
      name: "value",
      outputs: [{...}],
      payable: false,
      type: "function"
  }, {
      constant: false,
      inputs: [{...}],
      name: "set",
      outputs: [],
      payab
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

以太坊智能合约部署与交互 的相关文章

  • truffle 安装以及基本指令

    1 linux下安装方式 npm install g truffle 环境要求 NodeJS 5 0 Windows Linux 或Mac OS X 2 创建工程 mkdir testdir cd testdir truffle init
  • BSC 及HT 等链的NFT 创造及绑定图片教程

    我们首先打开REMIX 智能合约编程网站 下面代码是NFT合约 Submitted for verification at BscScan com on 2021 10 07 File openzeppelin contracts util
  • 以太坊生产网络/测试网络/私有网络

    要理解以太坊 PrivateNetwork 先要理解以太坊的两种官方网络 目前以太坊官方提供了两种网络 生产环境网络 测试网络 TestNet 下面将分别简单讲解下这两种网络 以太坊生产网络 以太坊的生产网络顾名思义 也就是产生真正有价值的
  • 使用web3 部署智能合约

    CentOS 7 环境 web3安装 及 对象的创建 m0 47233175的博客 CSDN博客https blog csdn net m0 47233175 article details 121960931还未安装web3环境 请参照以
  • 以太坊智能合约部署与交互

    启动容器来执行geth命令 root ubu blockchain2 docker run i blockchain101 ethereum geth 1 6 5 geth attach http 45 32 252 88 8201 Wel
  • 以太坊学习笔记(三)——搭建以太坊私链

    以太坊私链的搭建可以直接通过下载程序进行安装 也可以通过编译源码安装 本文介绍通过编译源码进行安装 编译源码 1 准备环境 我们下载的是go语言的源码 首先需要正确的安装go语言环境 如何正确安装go语言环境 大家可以去网上找教程 2 下载
  • web3.js

    安装 别按照官网上面 npm install web3 下载 我已经吃过一次亏了 npm init npm install ethereum web3 js save 指令 web3 isConnected 检查结点的连接是否存在 web3
  • 在区块链上开发可更新的智能合约

    由于区块链不可篡改的特性 智能合约一旦部署在区块链上 其执行的逻辑就无法再更改 长期来看 这个重要的特性反而限制了智能合约的弹性和发展 接下来要介绍如何设计及部署合约才能让合约在需要时可以更新 但这里的更新意思不是修改已经部署的合约 而是部
  • 笔记:以太坊geth客户端命令及参数

    geth命令的参数 nodiscover 使用此选项可确保未手动添加您的人员无法发现您的节点 否则 如果您的节点具有相同的创世纪文件和网络ID 则可能无意中将您的节点添加到陌生人的区块链中 maxpeers 0 如果您不希望任何其他人连接到
  • 认识一下以太坊、EOS和Hyperledger等不同的区块链

    不同的区块链智能合约和区块链技术现在风靡一时 越来越多的人出于某种原因试图进入这个神奇的世界 如果你是这项技术的新手并正在寻找基于区块链的开发平台的快速入门 那么本指南非常适合你 我们将重点关注和比较的平台是 Ethereum EOS Hy
  • 可验证延迟函数(VDF)

    干货 可验证延迟函数 VDF 自从以太坊将可验证延迟函数 Verifiable Delay Function VDF 列入研究计划并打算在以太坊 2 0 使用之后 VDF 得到了广泛的关注 VDF 这个概念最初由斯坦福大学密码学教授 Dan
  • Solidity中引入的SPDX是什么

    Solidity中引入的SPDX是什么 起因 Solidity 0 6 8 要求引入 SPDX 许可证 否则会出现警告 Warning SPDX license identifier not provided in source file
  • 区块链技术基本概念

    链客 专为开发者而生 有问必答 此文章来自链客区块链技术问答社区 未经允许拒绝转载 区块链技术根本概念 了解这些名词是一个不错的开端 公钥加密系统 Alice有一把公钥和一把私钥 她可以用她的私钥创建数字签名 而Bob可以用她的公钥来验证这
  • 如何在私有链实现分叉

    待更新 比特币源码 https blog csdn net g2com
  • 读取本地文件到读出p.node涉及的函数

    这里是读取本地文件的所调用的函数 func ParseNode rawurl string Node error if m incompleteNodeURL FindStringSubmatch rawurl m nil id err H
  • 星际文件存储IPFS是如何颠覆云存储的?

    一句话概括 IPFS The InterPlanetary File System 星际文件存储系统是一种点到点的分布式文件系统 它连接的计算设备都拥有相同的文件管理模式 从某种意义上来说这个概念跟Web的最初理念很类似 但是实际上IPFS
  • FISCO BCOS——SmartDev-Contract——MarriageEvidence结婚证书合约案例分析

    MarriageEvidence结婚证书合约案例分析 一 合约场景分析 二丶基础合约介绍 1 角色合约 1 功能说明 2 接口说明 3 使用说明 2 存证合约 1 功能说明 2 接口说明 3 使用说明 三丶业务合约介绍 1 结婚证书合约 1
  • 以太坊公链节点连接节点超时问题排查

    2020年4月1日晚上8点 zabbix报警 以太坊公链三分钟内没有检测到区块数据同步 立即登录到服务器 查看以太坊公链节点数据同步情况 docker logs f public eth tail 10 INFO 04 01 20 17 3
  • Sidetree - 去中心化身份管理协议

    身份 Identity 管理是区块链应用的核心元素 在一个不可信 匿名的分布计算生态中 要实现去中心化身份管理并不是一件容易的事情 Sidetree是一个基于现有区块链平台的第二层 L2s 协议 专门用于去中心化身份管理 微软最新开源的IO
  • 引介

    转载自 https ethfans org posts rlp encode and decode RLP编码和解码 RLP Recursive Length Prefix 递归的长度前缀 是一种编码规则 可用于编码任意嵌套的二进制数组数据

随机推荐

  • BaoStock:一个免费、开源的python证券数据接口包

    如果需要获取历史行情数据 www baostock com是个很好的免费 开源的Python证券数据接口包 特点 使用方便 免费免费免费 返回的绝大部分的数据格式都是pandas DataFrame类型 入门代码如下 import baos
  • 分布式系统常用的模式

    分布式系统常用的模式 Ambassador 名称 大使 模式 介绍 作为应用程序和其他服务的 中间人 负责应用程序和其他服务之间的通信 包括日志 监控或重试处理等任务 举例 K8S使用Envoy作为一个 大使 来简化服务之间的通信 优点 降
  • MySQL多表查询

    目录 一 查询和新增结合 二 聚合查询 1 聚合函数 2 group by子句 三 联合查询 1 笛卡尔积 1 内连接 2 外连接 1 左外连接 2 右外连接 3 自连接 4 子查询 嵌套查询 5 合并查询 一 查询和新增结合 将表2中的数
  • 第十二届蓝桥杯省赛第二场C/C++大学B组编程题题目及解析

    目录 试题F 特殊年份 试题G 小平方 试题H 完全平方数 试题I 负载平衡 试题J 国际象棋 试题F 特殊年份 include
  • 【Linux】设计模式

    目录 1设计模式 1 1概念 1 2设计模式分类 1 3单例模式 1 4单例模式代码演示 1 4 1懒汉模式 1 4 2饿汉模式 2 读写锁 2 1概念 2 2加锁规则 2 3接口 2 3 1初始化接口 2 3 2销毁接口 2 3 3解锁接
  • 第1章第5节:如何使用模板创建风格统一的幻灯片 [PowerPoint精美幻灯片实战教程]

    使用模板可以创建美观 风格统一和专业的幻灯片 要使用模板创建幻灯片 首先点击此处的文件选项卡 进入文件功能页面 然后在左侧的命令列表中 点击新建命令 在页面的下方 是由微软提供的常见的演示文稿模板 也可以通过搜索框 搜索指定主题的模板 点击
  • SharedPreferences 操作

    public class SPActivity extends Activity 使用SharedPreferences 来储存与读取数据 SharedPreferences mShared null 程序中可以同时存在多个SharedPr
  • IndentationError:expected an indented block错误解决

    IndentationError expected an indented block错误解决 描述 有时一个简单的问题会困扰很久 当发现问题后才感觉自己是多蠢 下面记录一个在日常Python编程过程中碰见的典型问题 参考文章 http h
  • C++编写及注册windows服务程序

    1 注册服务 在 开始 gt 运行 gt cmd 中输入 sc create TEST binPath C TEST EXE 则在windows下注册了一项服务 sc create TestService binpath c Service
  • GitHub Action + Release:打造 Electron 持续交付系统文件配置

    main yml上的文件配置 This is a basic workflow to help you get started with Actions name build Electron App For Win Mac Control
  • 上班族适合的兼职副业,副业做什么比较靠谱,副业赚钱的路子有哪些

    要找能不影响上班的副业 那前提条件就必须不能让你投入太多的时间在上面 否则说不影响上班就是扯淡哈 对于找什么副业比较靠谱这样的问题 我们首先要清楚 哪里的用户多 我们就在那个地方寻找就准没错 这也是基本道理 无可厚非 短视频平台就是现在人流
  • C++ const 关键字详解(全网最全)

    1 const修饰符的作用 const类型定义 指明变量或对象的值是不能被更新 引入目的是为了取代预编译指令 可以保护被修饰的东西 防止意外的修改 增强程序的健壮性 编译器通常不为普通const常量分配存储空间 而是将它们保存在符号表中 这
  • 红米手机5A完整卡刷开发版获取Root超级权限的流程

    小米的手机或平板不同手机型号一般小米官网都提供两个不同的系统 可分为稳定版和开发版 稳定版没有提供Root超级权限管理 开发版中就提供了Root超级权限 在很多工作的时候我们需要使用的一些功能强大的应用 都需要在Root超级权限下工作 比如
  • 骑士周游问题,马踏棋盘算法

    该问题实际上是图的深度优先搜索的应用 package com horsechess import java awt import java util ArrayList import java util Comparator public
  • 华为OD机试真题-猜字谜【2023.Q1】

    题目描述 小干设计了一人简单的清字谈游戏 游戏的迷面是一人错误的单词 比如nwes 玩家需要猜出谈底库中正确的单词 猜中的要求如 对于某个谜面和谜底单词 满足下面任一条件都表示猜中 1 变换顺序以后一样的 比如通过变换w和e的顺序 nwes
  • Qt自带了一些常用的对话框,例如消息框、警告框、提问框等等

    Qt自带了一些常用的对话框 例如消息框 警告框 提问框等等 而QMessageBox作为其中的一种 它可以用来显示简单的信息提示 如确认对话框 错误提示等等 但是 我们发现这些提示框的样式都是固定的 无法实现自定义的样式 那么本文将介绍如何
  • 检测到目标web应用表单密码类型输入启用了自动完成操作

    描述 在web应用form表单中 如果input标签没有指定 autocomplete 属性为 off 则 autocomplete 的属性会自动默认为on 当web应用form表单中的密码类型为input标签 autocomplete属性
  • Linux系统权限详解

    目录 一 权限解释 1 所有者权限 2 所属组权限 3 其他人权限 二 用户用户组解释 3 解释权限含义 4 权限命令解释 三 基本权限 U G O 1 权限对象 2 基本权限 3 高级权限 一 权限解释 在Linux系统中 文件和目录的访
  • 【数据结构入门】时间复杂度和空间复杂度

    算法在编写成可执行程序后 运行时需要耗费时间资源和空间 内存 资源 因此衡量一个算法的好坏 一般是从时间和空间两个维度来衡量的 即时间复杂度和空间复杂度 时间复杂度主要衡量一个算法的运行快慢 而空间复杂度主要衡量一个算法运行所需要的额外空间
  • 以太坊智能合约部署与交互

    启动容器来执行geth命令 root ubu blockchain2 docker run i blockchain101 ethereum geth 1 6 5 geth attach http 45 32 252 88 8201 Wel