Ubuntu18.04简单使用tendermint

① 启动tendermint并检查状态
  • 初始化tendermint
$ tendermint init
  • 单节点方式启动tendermint,并使用内置应用kvstore-proxy_app运行标志用来指定一个内置的ABCI应用,例如kvstore是tendermint程序内置的键值对应用。
$ tendermint node --proxy_app=kvstore
# 如果之前已经使用过tendermint,只需要初始化data就可以
$ tendermint unsafe_reset_all
  • 查看状态
$ curl -s localhost:26657/status
{
  "jsonrpc": "2.0",
  "id": "",
  "result": {
    "node_info": {
      "protocol_version": {
        "p2p": "7",
        "block": "10",
        "app": "1"
      },
      "id": "d774d477fd4f339058d7dc35edf75f32371fc5b7",
      "listen_addr": "tcp://0.0.0.0:26656",
      "network": "test-chain-F5dt3c",
      "version": "0.31.5",
      "channels": "4020212223303800",
      "moniker": "master",
      "other": {
        "tx_index": "on",
        "rpc_address": "tcp://0.0.0.0:26657"
      }
    },
    "sync_info": {
      "latest_block_hash": "B6B423295B7641BD540DF051F2597984784B5F93C27FE3ED053B9B75447368EC",
      "latest_app_hash": "0000000000000000",
      "latest_block_height": "252",
      "latest_block_time": "2019-05-01T11:35:34.80586108Z",
      "catching_up": false
    },
    "validator_info": {
      "address": "4252DFF3DD179BB27E73EBCBE0B9B706F7E7CBF9",
      "pub_key": {
        "type": "tendermint/PubKeyEd25519",
        "value": "OpVAF6IXhA7r5nF+DqgNLTvfE1TQXOuKT93yFawTA/Y="
      },
      "voting_power": "10"
    }
  }
}
② 提交交易
  • 提交一个交易,使用curl向Tendermint节点的RPC服务发出请求。没有指定key,value,lucy既是key,又是value
$ curl -s 'localhost:26657/broadcast_tx_commit?tx="lucy"'
{
  "jsonrpc": "2.0",
  "id": "",
  "result": {
    "check_tx": {
      "gasWanted": "1"
    },
    "deliver_tx": {
      "tags": [
        {
          "key": "YXBwLmNyZWF0b3I=",
          "value": "Q29zbW9zaGkgTmV0b3dva28="
        },
        {
          "key": "YXBwLmtleQ==",
          "value": "bHVjeQ=="
        }
      ]
    },
    "hash": "DC99E9AA86FAB83A062CFF5E0808391757071A3D5DBB942802D5F923AAEAD3B4",
    "height": "299"
  }
}
  • 返回的 Response 中的 key 和 value 使用了 base64 进行了编码,例如,结果中的value字段,例如bHVjeQ==,这其实是字符串lucybase64编码。我们可以通过命令 base64 对其进行解码,结论:可以发现key = lucy
$ echo "YXBwLmNyZWF0b3I=" | base64 -d
app.creator
$ echo "Q29zbW9zaGkgTmV0b3dva28=" | base64 -d
Cosmoshi Netowoko
$ echo "YXBwLmtleQ==" | base64 -d
app.key
$ echo "bHVjeQ==" | base64 -d
lucy
  • 也可以指定key和value,提交一个交易:
$ curl -s 'localhost:26657/broadcast_tx_commit?tx="name=tiger"'
{
  "jsonrpc": "2.0",
  "id": "",
  "result": {
    "check_tx": {
      "gasWanted": "1"
    },
    "deliver_tx": {
      "tags": [
        {
          "key": "YXBwLmNyZWF0b3I=",
          "value": "Q29zbW9zaGkgTmV0b3dva28="
        },
        {
          "key": "YXBwLmtleQ==",
          "value": "bmFtZQ=="
        }
      ]
    },
    "hash": "EC6087612FF50A1BF5353EF0F7F344F33EDCCFD511939EE063DD4840E599795D",
    "height": "620"
  }
}
$ echo "bmFtZQ==" | base64 -d'
name
③ 查询交易
  • 查询第一个交易,该交易没有指定key,key和value均为lucy:
$ curl -s 'localhost:26657/abci_query?data="lucy"'
{
  "jsonrpc": "2.0",
  "id": "",
  "result": {
    "response": {
      "log": "exists",
      "key": "bHVjeQ==",
      "value": "bHVjeQ=="
    }
  }
}
$ echo "bHVjeQ==" | base64 -d
lucy
  • 查询第二个交易,key为name,value为tiger
$ curl -s 'localhost:26657/abci_query?data="name"'
{
  "jsonrpc": "2.0",
  "id": "",
  "result": {
    "response": {
      "log": "exists",
      "key": "bmFtZQ==",
      "value": "dGlnZXI="
    }
  }
}
$ echo "bmFtZQ==" | base64 -d
name
$ echo "dGlnZXI=" | base64 -d'
tiger

参考链接:
自主可控区块链神器Tendermint五分钟入门
区块链框架 Tendermint 入门教程

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Ubuntu 18.04的基本使用包括以下几个方面: 1. 终端操作:在Ubuntu桌面上,你需要点击终端才能进行命令输入。你可以使用命令"sudo su"来切换到超级用户(root)权限,以便执行需要管理员权限的操作。\[1\] 2. 系统介绍:Ubuntu是一种操作系统,与Windows系统有一些区别。你可以通过终端来执行命令行语句,这是Ubuntu的灵魂。你可以使用快捷键来提高工作效率,比如Ctrl+C复制,Ctrl+V粘贴等。\[2\] 3. 文件管理:Ubuntu使用Linux文件管理系统,与Windows系统有一些不同。你可以下载并安装.deb文件来支持Linux系统。此外,你可以使用vim或CodeBlocks来编辑代码,美化编程环境。\[2\] 4. 编程入门:如果你想学习编程,你可以使用Ubuntu来编写和运行程序。你可以使用C++编写你的第一个程序,比如hello.cpp。你还可以安装ROS(机器人操作系统)并运行仿真文件。\[2\]\[3\] 总之,Ubuntu 18.04是一个功能强大的操作系统,适合进行各种任务和学习编程。通过终端操作和熟悉Linux文件管理系统,你可以更好地使用Ubuntu并掌握基本的使用技巧。 #### 引用[.reference_title] - *1* [Ubuntu 18.04 Desktop 下的基础操作,零基础入门](https://blog.csdn.net/huang_527/article/details/126797206)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [Ubuntu18.04系统新手入门](https://blog.csdn.net/alan1ly/article/details/109390982)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值