跳转到主要内容

用于Cosmos钱包管理和离线交易签名的工具

项目描述

Build Status codecov.io PyPI version

cosmospy

版本 6.0.0

用于Cosmos钱包管理和离线交易签名的工具

目录 mdformat-toc生成

安装

从PyPI仓库安装 (https://pypi.ac.cn/project/cosmospy)

pip install cosmospy

用法

生成钱包

from cosmospy import generate_wallet

wallet = generate_wallet()

分配给 wallet 的值将是一个类似于以下字典的对象

{
    "seed": "arch skill acquire abuse frown reject front second album pizza hill slogan guess random wonder benefit industry custom green ill moral daring glow elevator",
    "derivation_path": "m/44'/118'/0'/0/0",
    "private_key": b"\xbb\xec^\xf6\xdcg\xe6\xb5\x89\xed\x8cG\x05\x03\xdf0:\xc9\x8b \x85\x8a\x14\x12\xd7\xa6a\x01\xcd\xf8\x88\x93",
    "public_key": b"\x03h\x1d\xae\xa7\x9eO\x8e\xc5\xff\xa3sAw\xe6\xdd\xc9\xb8b\x06\x0eo\xc5a%z\xe3\xff\x1e\xd2\x8e5\xe7",
    "address": "cosmos1uuhna3psjqfxnw4msrfzsr0g08yuyfxeht0qfh",
}

转换函数

助记词种子到私钥

from cosmospy import BIP32DerivationError, seed_to_privkey

seed = (
    "teach there dream chase fatigue abandon lava super senior artefact close upgrade"
)
try:
    privkey = seed_to_privkey(seed, path="m/44'/118'/0'/0/0")
except BIP32DerivationError:
    print("No valid private key in this derivation path!")

私钥到公钥

from cosmospy import privkey_to_pubkey

privkey = bytes.fromhex(
    "6dcd05d7ac71e09d3cf7da666709ebd59362486ff9e99db0e8bc663570515afa"
)
pubkey = privkey_to_pubkey(privkey)

公钥到地址

from cosmospy import pubkey_to_address

pubkey = bytes.fromhex(
    "03e8005aad74da5a053602f86e3151d4f3214937863a11299c960c28d3609c4775"
)
addr = pubkey_to_address(pubkey)

私钥到地址

from cosmospy import privkey_to_address

privkey = bytes.fromhex(
    "6dcd05d7ac71e09d3cf7da666709ebd59362486ff9e99db0e8bc663570515afa"
)
addr = privkey_to_address(privkey)

签名交易

from cosmospy import Transaction

tx = Transaction(
    privkey=bytes.fromhex(
        "26d167d549a4b2b66f766b0d3f2bdbe1cd92708818c338ff453abde316a2bd59"
    ),
    account_num=11335,
    sequence=0,
    fee=1000,
    gas=70000,
    memo="",
    chain_id="cosmoshub-3",
    sync_mode="sync",
)
tx.add_transfer(
    recipient="cosmos103l758ps7403sd9c0y8j6hrfw4xyl70j4mmwkf", amount=387000
)
tx.add_transfer(recipient="cosmos1lzumfk6xvwf9k9rk72mqtztv867xyem393um48", amount=123)
pushable_tx = tx.get_pushable()

可以通过调用 add_transfer 方法将一个或多个令牌转账添加到交易中。

当交易完全准备就绪时,调用 get_pushable 将返回一个 JSON 字符串形式的签名交易。这可以用作调用 Cosmos REST APIPOST /txs 端点的请求体。

项目详情


下载文件

下载适合您平台的应用文件。如果您不确定选择哪一个,请了解有关 安装包 的更多信息。

源分发

cosmospy-6.0.0.tar.gz (7.6 kB 查看哈希值)

上传时间

构建分发

cosmospy-6.0.0-py3-none-any.whl (7.2 kB 查看哈希值)

上传时间 Python 3

由以下支持