美文网首页区块链
Cosmos中的账户地址

Cosmos中的账户地址

作者: 印随2018 | 来源:发表于2018-11-13 17:20 被阅读34次

cosmos 账户地址格式

cosmos里关于账户地址有三种不同的格式,我们看一看

[ec2-user@ip-172-31-30-153 ~]$ gaiacli keys show wall-e --bech=cons -o json --bech=acc | jq
{
  "name": "wall-e",
  "type": "local",
  "address": "cosmos1hk4ze3hqwg62w89gmee3hj72u7wrap0a2ts87u",
  "pub_key": "cosmospub1addwnpepq272xswjqka4wm6x8nvuwshdquh0q8xrxlafz7lj32snvtg2jswl6x5ywwu"
}

[ec2-user@ip-172-31-30-153 ~]$ gaiacli keys show wall-e --bech=cons -o json --bech=val | jq
{
  "name": "wall-e",
  "type": "local",
  "address": "cosmosvaloper1hk4ze3hqwg62w89gmee3hj72u7wrap0a0lyjj0",
  "pub_key": "cosmosvaloperpub1addwnpepq272xswjqka4wm6x8nvuwshdquh0q8xrxlafz7lj32snvtg2jswl60hprp0"
}

[ec2-user@ip-172-31-30-153 ~]$ gaiacli keys show wall-e --bech=cons -o json --bech=cons | jq
{
  "name": "wall-e",
  "type": "local",
  "address": "cosmosvalcons1hk4ze3hqwg62w89gmee3hj72u7wrap0amvhw7w",
  "pub_key": "cosmosvalconspub1addwnpepq272xswjqka4wm6x8nvuwshdquh0q8xrxlafz7lj32snvtg2jswl6fc4n96"
}

下面的内容是源码中找到的文档,一看就明白

docs/spec/other/bech32.md

HRP Definition
cosmos Cosmos Account Address
cosmospub Cosmos Account Public Key
cosmosvalcons Cosmos Validator Consensus Address
cosmosvalconspub Cosmos Validator Consensus Public Key
cosmosvaloper Cosmos Validator Operator Address
cosmosvaloperpub Cosmos Validator Operator Public Key

我们来看一下bech32

https://github.com/btcsuite/btcutil/blob/master/bech32/bech32.go

// Encode encodes a byte slice into a bech32 string with the
// human-readable part hrb. Note that the bytes must each encode 5 bits
// (base32).
func Encode(hrp string, data []byte) (string, error) {
    // Calculate the checksum of the data and append it at the end.
    checksum := bech32Checksum(hrp, data)
    combined := append(data, checksum...)

    // The resulting bech32 string is the concatenation of the hrp, the
    // separator 1, data and checksum. Everything after the separator is
    // represented using the specified charset.
    dataChars, err := toChars(combined)
    if err != nil {
        return "", fmt.Errorf("unable to convert data bytes to chars: "+
            "%v", err)
    }
    return hrp + "1" + dataChars, nil
}

代码逻辑还是很简单的,主要是看最后一行代码,在bech32格式中会有一个常量1,这个很有意思,为什么不是0呢,1有些字体中看起来和l很像啊

相关文章

  • Cosmos中的账户地址

    cosmos 账户地址格式 cosmos里关于账户地址有三种不同的格式,我们看一看 下面的内容是源码中找到的文档,...

  • 21:环签名--增强匿名性

    比特币的账户地址是公开的,网络上的人都可以查到账户地址,通过收集大量数据,还是有可能把账户地址与现实中的人对应到一...

  • WDC地址生成逻辑

    一、地址生成步骤 在wdc中,每个用户都可以生成自己的账户地址,账户地址是来自于生成的密钥对,其关系如下: 如图1...

  • 知识库-市场交易

    账户/ Account 账户是在总账中的一份记录,通过地址在总账中索引,总账包含有关该账户的状态的完 整的数据。在...

  • HGAME 2020 WP

    比赛地址:https://hgame.vidar.club/#/ WEB 1.Cosmos 的博客 根据提示,gi...

  • 待确认

    在以太坊中,有一个重要的概念就是账户(Account)。账户以地址为索引,地址由公钥衍生而来,取公钥的最后20字节...

  • USDT api 命令行示例

    查看命令帮助 新建账户地址 mytest 是账号名,需要唯一。 返回的是账户地址。 getnewaddress 是...

  • Fusion客户创建SOAP接口PAYLOAD(一)

    创建客户主地址创建客户组织层创建账户层 创建地址 创建组织层 创建账户层

  • 支付系统中,账户体系的设计与记账处理

    这是在 人人都是产品经理 社区上看到的文章。 首先附上文章的地址:支付系统中,账户体系的设计与记账处理 账户体系和...

  • 英语速递

    宇宙 universe 宇宙 cosmos cosmos -> Moscow发音莫斯科 很像 polis ...

网友评论

    本文标题:Cosmos中的账户地址

    本文链接:https://www.haomeiwen.com/subject/ytjlfqtx.html