Skycoin Python库
项目描述
PySkycoin
Python扩展,用于Skycoin API。使用SWIG生成的Python扩展,用于从Python访问Skycoin API。
目录
安装
从 http://github.com/simelo/pyskycoin.git 下载存储库。执行 (python setup.py install
) 以安装库。尽管执行 (python setup.py develop) 是对修改库更好的选择。然而,当使用 tox 时,这些命令根本不需要,因为调用 tox 将进行所有必要的安装并执行测试。
使用方法
命名
PySkycoin 导出的函数具有以下命名格式:SKY_package_func_name
,其中 package 是替换原始 Skycoin 函数所在包的名称,func_name 是函数的名称。例如,来自 cli
包的 LoadConfig
函数在 Python 中调用为 SKY_cli_LoadConfig
参数
所有 Skycoin 导出的函数都将错误对象作为返回参数的最后一个参数返回。在 Pyskycoin 中,错误作为整数返回,它是第一个返回参数。其余参数以相同的顺序返回。
Skycoin 中的接收者位于输入参数的第一位。简单类型,如整数、浮点数、字符串,将用于 Python 中的相应类型。
句柄
某些 Skycoin 类型过于复杂,无法导出到脚本语言。因此,使用句柄代替。因此,所有接受复杂类型的函数都将接收句柄而不是原始的 Skycoin 类型。例如,以下函数从 Skycoin 导出
func LoadConfig() (Config, error)
func (c Config) FullWalletPath() string
Config 是一个结构体类型,在 Pyskycoin 中被视为句柄。在 Python 中的用法将如下所示
import skycoin
def main:
err, configHandle = skycoin.SKY_cli_LoadConfig()
if err == skycoin.SKY_OK: # 0 then no error
fullWalletPath = skycoin.SKY_cli_FullWalletPath(configHandle)
print fullWallerPath
#Close the handle after using the it
#so the garbage collector can delete the object associated with it.
skycoin.SKY_handle_close( configHandle )
else:
#Error
print err
字节切片
类型为 byte[] 的参数将被视为字符串。例如,Skycoin 中的此函数
func (s ScryptChacha20poly1305) Encrypt(data, password []byte) ([]byte, error)
可以这样调用
encrypt_settings = skycoin.encrypt__ScryptChacha20poly1305()
data = "Data to encrypt" #It will be passed as a parameter of type []byte
pwd = "password" #As []byte too
err, encrypted = skycoin.SKY_encrypt_ScryptChacha20poly1305_Encrypt(encrypt_settings, data, pwd)
if err == skycoin.SKY_OK:
print encrypted #Encrypted is string
结构体
未导出为句柄的结构体在 Python 中被当作类处理。在上面的例子中,类型 ScryptChacha20poly1305 在 Python 中创建如下
encrypt_settings = skycoin.encrypt__ScryptChacha20poly1305()
并作为第一个参数传递给 SKY_encrypt_ScryptChacha20poly1305_Encrypt 的调用中。
固定大小数组
从 Python 调用时的固定大小数组参数被封装在结构体中。
给定 Skycoin 中的以下类型
type PubKey [33]byte
type SecKey [32]byte
以及此导出函数
func GenerateDeterministicKeyPair(seed []byte) (PubKey, SecKey)
这是在 Python 中使用的样子
#Generates random seed
err, data = skycoin.SKY_cipher_RandByte(32)
assert err == skycoin.SKY_OK
pubkey = skycoin.cipher_PubKey()
seckey = skycoin.cipher_SecKey()
err = skycoin.SKY_cipher_GenerateDeterministicKeyPair(data, pubkey, seckey)
pubkey 和 seckey 是包含具有数据字段的结构体对象,该字段对应于 PubKey 和 SecKey 的类型。类似于
cipher_PubKey struct{
data [33]byte;
} cipher_PubKey;
cipher_SecKey struct{
data [32]byte;
} ;
其他切片
不同类型的字节的其他切片被封装在类中。调用以下函数
func GenerateDeterministicKeyPairs(seed []byte, n int) []SecKey
将类似于
#Generates random seed
err, seed = skycoin.SKY_cipher_RandByte(32)
err, seckeys = skycoin.SKY_cipher_GenerateDeterministicKeyPairs(seed, 2)
for seckey in seckeys:
pubkey = skycoin.cipher_PubKey()
skycoin.SKY_cipher_PubKeyFromSecKey(seckey, pubkey)
err = skycoin.SKY_cipher_PubKey_Verify(pubkey)
assert err == skycoin.SKY_OK
验证地址的示例
def addressIsValid(addr):
addres = skycoin.cipher__Address()
err = skycoin.SKY_cipher_DecodeBase58Address(addr, addres)
return err != skycoin.SKY_OK
内存管理
内存管理对用户是透明的。在库内部分配的任何对象都留给 Python 垃圾收集器管理。
制定规则
所有这些制定规则都需要 skycoin 成为 pyskycoin 的 git 子模块
- build-libc
- 编译 Skycoin C 语言库。
- build-swig
- 创建生成 Python 库的包装器 C 代码。
- develop
- 安装模块的开发版本。
- test
- 编译 Skycoin C 语言库,创建包装器并执行 Tox。Tox 安装编译 Python 库并执行测试。
开发设置
强烈建议开发人员使用可用的 Docker 镜像设置他们的环境。有关详细信息,请参阅 PySkycoin Docker 文档。
项目有两个分支:master
和 develop
。
develop
是默认分支,将始终包含最新的代码。位于gopath/src/github.com/skycoin/skycoin
的子模块必须与skycoin/skycoin
的develop
分支保持同步。master
将始终等于网站上的当前稳定版本,并应与最新的发布标签相对应。位于gopath/src/github.com/skycoin/skycoin
的子模块必须与skycoin/skycoin
的master
分支保持同步。
将创建独立的稳定开发分支,以支持 Skycoin 的最新稳定版本。这些分支的名称应该是 Skycoin 的主版本号和次版本号,后面跟 dev
后缀,例如 0.25dev
。这些分支可以从 master
或 develop
分支中分叉出来,位于 gopath/src/github.com/skycoin/skycoin
的子模块必须与 skycoin/skycoin
官方存储库的对应标签保持同步。
通常创建稳定开发分支的原因如下
- Skycoin 发布增加 补丁版本号。
- 增强对使用 Skycoin 稳定版本编译的 PySkycoin 版本的兼容性以及错误修复。
- 将
develop
中添加的有用功能回滚。
运行测试
$ make test
发布
更新版本
- 如果
master
分支中有不在develop
中的提交(例如,由于对master
应用热修复),则将master
合并到develop
(并修复任何构建或测试失败) - 切换到名为
release-X.Y.Z
的新发布分支以准备发布。 - 确保位于
gopath/src/github.com/skycoin/skycoin
的子模块与 https://github.com/skycoin/skycoin 存储库中的对应标签保持同步。 - 更新
skycoin/__init__.py
中的__version__
。 - 运行
make build
以确保代码库是最新的。 - 更新
CHANGELOG.md
:将“未发布”的更改移到版本并添加日期。 - 遵循 预发布测试 中的步骤。
- 创建一个将发布分支合并到
master
的 PR。 - 审查 PR 并合并它。
- 更新 https://github.com/skycoin/repo-info/tree/master/repos/skycoin/remote 中的文件,为
simelotech/skycoindev-dotnet
Docker 映像添加新文件,并调整可能已更改的任何配置文本。 - 用版本号标记
master
分支。版本标记以v
开头,例如v0.20.0
。签名标记。如果您在 Github 上有 GPG 密钥,则在 Github 网站上创建发布将自动标记发布。它可以使用git tag -as v0.20.0 $COMMIT_ID
从命令行进行标记,但 Github 不会将其识别为“发布”。 - 发布构建由 travis 创建和上传。要手动执行此操作,请检出 master 分支并遵循 创建发布构建说明。
- 检出
develop
分支并将__version__
升级到下一个dev
版本号。
预发布测试
在发布之前执行这些操作
make test-ci
发布签名
使用此 PGP 密钥签署发布
0x5801631BD27C7874
此密钥的指纹为
pub ed25519 2017-09-01 [SC] [expires: 2023-03-18]
10A7 22B7 6F2F FE7B D238 0222 5801 631B D27C 7874
uid GZ-C SKYCOIN <token@protonmail.com>
sub cv25519 2017-09-01 [E] [expires: 2023-03-18]
Keybase.io 账户:https://keybase.io/gzc
备用签名密钥
Keybase.io 账户:https://keybase.io/olemis
此密钥的指纹为
pub rsa4096 2019-01-17 [SC] [expires: 2024-01-16]
uid Olemis Lang <olemis@simelo.tech>
sub rsa4096 2019-01-17 [E] [expires: 2024-01-16]
遵循 Tor 项目验证签名的说明。
发布及其签名可以在 发布页面 上找到。
生成 PGP 密钥、发布它、签名标签和二进制文件的说明:https://gist.github.com/gz-c/de3f9c43343b2f1a27c640fe529b067c
创建发布构建
发布构建应从 git 标签创建。在 更新发布版本 后,必须遵循以下步骤
cd /path/to/pyskycoin
python3 setup.py sdist bdist_wheel
python3 -m pip install --user --upgrade twine
twine upload --repository-url https://test.pypi.org/legacy/ dist/*
这会自动为 travis-ci
和 circle-ci
完成。
为 manylinux 创建发布构建
发布构建应从 git 标签创建。在 更新发布版本 后,必须遵循以下步骤
对于 64bits
构建
cd /path/to/pyskycoin
make bdist_manylinux
python3 -m pip install --user --upgrade twine
twine upload --repository-url https://test.pypi.org/legacy/ dist/*
如果 32bits
构建
cd /path/to/pyskycoin
make bdist_manylinux_i686
python3 -m pip install --user --upgrade twine
twine upload --repository-url https://test.pypi.org/legacy/ dist/*
这是与 skyapi
相同的过程。
这将在 travis-ci
和 circle-ci
中自动完成,即使有手动操作选项,此过程也应自动执行。
Skycoin Api 的 Python 包装器
此包装器由 openapi-generator 直接从 Skycoin Api 的 v0.25.1 代码自动生成。
有关 Skycoin Api 的 Python 包装器使用详情,请参阅 自动生成文档
要使用特定 Skycoin Api 节点的包装器,只需执行以下操作
# create an instance of the Configuration class
configuration = skyapi.Configuration()
# set new host
configuration.host = 'some_host'
# create an instance of the API class with new configuration
api_instance = skyapi.DefaultApi(skyapi.ApiClient(configuration))
pyskycoin-0.26.0.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 31a0d452d654a6aa5f612589a2cd2b6e6bec401fa486cd1f27ac8ad7ec2cd364 |
|
MD5 | c597ebea641cdd1f9d025e72bfe8dec6 |
|
BLAKE2b-256 | 55b49ac946e5950d33026307dfbcee9095fd8bc311a255c1c98637f76f77c3f5 |
pyskycoin-0.26.0-cp37-cp37m-manylinux1_x86_64.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | ef673255435e10fe78233d38c63f190b172cadc1bfbfb4b238009acb8af0f411 |
|
MD5 | 49eb86affc53e1d62ed35de2b73c8d70 |
|
BLAKE2b-256 | 9e9ea741eadab647151c2d80bcc31f239fc8e40a52655a1244428a5e8e895d80 |
pyskycoin-0.26.0-cp37-cp37m-manylinux1_x86_64.manylinux1_i686.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | ae88f924c79f543fc4ce883074bcea2fa7c80306f24f3d08b128332d18d6d36e |
|
MD5 | 4354f133619768f01451cddc3614745a |
|
BLAKE2b-256 | e32eda967576c8ac290001b45b35536e83b0c7d8978d3290797c3a04f2257012 |
pyskycoin-0.26.0-cp37-cp37m-manylinux1_i686.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 8a9348e9572855ec49febd908409980b0cf98222f836b0091d1491c3c5af6666 |
|
MD5 | aceddb21a669944b0167cef71134858d |
|
BLAKE2b-256 | 53ba433e9d5a79036b17b6c6f4b2642cbb8f75d2f32c005fe819e7da0b61eb0a |
pyskycoin-0.26.0-cp37-cp37m-manylinux1_i686.manylinux1_x86_64.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 50c709c67baf430c816f5bd0ce7f6cead419207089c0a035b169ea35ba0ff10f |
|
MD5 | 31b5a4314c9457b49f6e5aaa1656bb13 |
|
BLAKE2b-256 | 370d72bfcdb5a0c9614b6a0bdad771bc0b5ff2570289a01b08db6aeddecfd206 |
pyskycoin-0.26.0-cp37-cp37m-macosx_10_13_x86_64.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | f064509b8568b4c72ee1d3b3ee23166ffeab4fff8d3f2388efaa0f528a603169 |
|
MD5 | 34ec6c01bd0d55f85dd44b4d7e1b1609 |
|
BLAKE2b-256 | 4e3ce64d77746df0901231cef35c3b795d592a5b9ae40a0bf9e28f46d297cccb |
pyskycoin-0.26.0-cp36-cp36m-manylinux1_x86_64.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 6bf8b0879399a21030cf22b56b7f1643bc8712511551e2ddc20cd678f996b35c |
|
MD5 | 4d0693babf1a73cd405b21e1f788994d |
|
BLAKE2b-256 | 9919858bde535f60cd24ec5202ac414f1d3c7b16ea138b8f615caad1ed17af00 |
pyskycoin-0.26.0-cp36-cp36m-manylinux1_x86_64.manylinux1_i686.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | a2897d1eec758a6cc121184361ba35e03ae9e54b6b2ab462c51bb22ac1895090 |
|
MD5 | e0b7aa851faf968ad405f5e074943573 |
|
BLAKE2b-256 | 7be117653e52acbabb16e9e61125f40ea89cd279068abfeaa2dd730b77165e21 |
pyskycoin-0.26.0-cp36-cp36m-manylinux1_i686.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | c06600dab99788133cd5e0197ccb2d5e52d628e9cf3b016f14534f27741eb377 |
|
MD5 | f1b63066f4e715fe12b77fbb9de29b0b |
|
BLAKE2b-256 | 5b9dfa32854cff2cbf7fc2c53bea5eb8deb2c04c032db64e1eba8c2a22a2cfae |
pyskycoin-0.26.0-cp36-cp36m-manylinux1_i686.manylinux1_x86_64.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | db43639aee61794d182e01075af303126b90a83e27906c15df86ee1bbeb03797 |
|
MD5 | ec6263db9247792da6700b20d9a905c3 |
|
BLAKE2b-256 | 4ddd4c0e3214a90b6c0516cdf676cc72cc73b13d5747115e74bd34c4e78d060f |
哈希值 for pyskycoin-0.26.0-cp36-cp36m-macosx_10_13_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 9c89e42afbc64a0e102ab9932b4965c3c7e030531f5782ae7f6f51ea87959630 |
|
MD5 | 910b77f7464db71512d0b808ad75b00d |
|
BLAKE2b-256 | ab95ab04e2ea97fc16798303357713c575ca6b3b844a718f1c92af0d72b5d530 |
哈希值 for pyskycoin-0.26.0-cp35-cp35m-manylinux1_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 89c28ef11488ccb5aeddf7d8383102899faeb0bb594a7d84d3ac8939971444ec |
|
MD5 | 1f58d057af5a54bba14272d35d9a9591 |
|
BLAKE2b-256 | 2d508dcfaddb9dc3acfff41ce129b9230906e405b7cfe084bd75ab2fc3fab528 |
哈希值 for pyskycoin-0.26.0-cp35-cp35m-manylinux1_x86_64.manylinux1_i686.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 758322477ceddef32a61c47b0523c9729e274c6b0383bc00e12666355f40c6c8 |
|
MD5 | 61bb884d8e4cc9dc8def4b244f0a2e4e |
|
BLAKE2b-256 | 66c9120e877e87d56373d189cf8921392ff04a9262c5335655504c9831b62090 |
哈希值 for pyskycoin-0.26.0-cp35-cp35m-manylinux1_i686.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 2604eec4bff1bdc53a6986154ba290d80ce31921a4d90e52e52c8249069d3dde |
|
MD5 | 7d2de5f920e6cde2e23768a05179d60a |
|
BLAKE2b-256 | 4e90db05d5b4b8d38bf3b082a1371f032e6eab9d4d8a15b4b1b48a94b0cfc2cc |
哈希值 for pyskycoin-0.26.0-cp35-cp35m-manylinux1_i686.manylinux1_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 1ebfc2413da9a17b2f5f27b10916eb4aae2707861922640e8cd1e479d04b5e80 |
|
MD5 | ef23a2bbfc33f6d22116fb1fb159a61f |
|
BLAKE2b-256 | 5258788ffcac019cc99ad2bba3de2e9a3439c38ce86812bb4201fc4430bc3ca1 |
哈希值 for pyskycoin-0.26.0-cp35-cp35m-macosx_10_13_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | fe9134dfc64e27e4adf5e37afc611c922bbd479a035dce9ae8acef1c73cbb007 |
|
MD5 | 704511ec86f2f0d70b91018b8204f111 |
|
BLAKE2b-256 | 5c33d6f99d620ffa0dcd217ab9b9bce1aa5d84181c3dde6e592826f3bce9aa7e |
哈希值 for pyskycoin-0.26.0-cp34-cp34m-manylinux1_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 3a83c592d13dc1a0eace44b7f3c7d039f3cc60244300092f07edb9b419dd47d5 |
|
MD5 | 24f60ac8f4df3d8816fdc39492a3c2a2 |
|
BLAKE2b-256 | 623b9c5b1945147f41c98357f095b9d7b378b5d802a2dc9f49a63664a155e98b |
哈希值 for pyskycoin-0.26.0-cp34-cp34m-manylinux1_x86_64.manylinux1_i686.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | d2cfb4f91dd76e8a86ea115644d56a4b3f3ddd0a1c6b4009d986103774e83c6e |
|
MD5 | dc9940682c4cd2c83a62cc4a1f7b533d |
|
BLAKE2b-256 | 1c8b0b6a69f8d247dc00af2e0aad4d8cb18eca76036e5278e0093c0ba8474bbc |
哈希值 for pyskycoin-0.26.0-cp34-cp34m-manylinux1_i686.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | cb6ea4671776ab3de17d78e2c22911622969d8874462c80f551bf0f9f6e624ea |
|
MD5 | 405d093009cb5b5f9203b00cacaa1d60 |
|
BLAKE2b-256 | 875f0b8cc3c115f9d02fdb897b0e5adc97c76e6771e138c69af48dc94459006c |
哈希值 for pyskycoin-0.26.0-cp34-cp34m-manylinux1_i686.manylinux1_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | b55a440dbff66dc3f0b5c840371c5d913e0f03d0c1417d65f2b11a2c6a9b4f27 |
|
MD5 | 63da035515c3bc5434b8f0c90d911bcf |
|
BLAKE2b-256 | cd69cc480d4cd090ab9395938a94916c97ab4f27c71cabd81d74102461731fe9 |
哈希值 for pyskycoin-0.26.0-cp34-cp34m-macosx_10_13_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 282a7a6ae0e98297d4fa7a192e4b83589a4aa49702e7128c5f7c0b9b638b142e |
|
MD5 | 6fd55b46e5e2c16187adc53b339372ad |
|
BLAKE2b-256 | 637083e2f6363759ef6c278ea8be2d8304e3af069acc3e79f5a7fafc2c86c091 |
哈希值 for pyskycoin-0.26.0-cp27-cp27mu-manylinux1_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 2976e93bbe6ed1a4e0ce9b79bfaf89ddb29665111e75f350b0afdbb05aaf6f17 |
|
MD5 | 52ea7f4e29fa38787b33762e9672a7f9 |
|
BLAKE2b-256 | 2702f7d7931f21cb6059a7c7ca1125aff2254f133234ad95d991e799231a882c |
哈希值 for pyskycoin-0.26.0-cp27-cp27mu-manylinux1_x86_64.manylinux1_i686.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 6dc49224e0e513570889d132203f6eef451fbb43bdece43773f913e26e2c2104 |
|
MD5 | ef47c3a0c0d450efeb5c4d4b5c2f4cfc |
|
BLAKE2b-256 | 41589a9da884ad4d7b01445b84ef17ac307ca7524e805106a58e81a00b9b48ed |
哈希值 for pyskycoin-0.26.0-cp27-cp27mu-manylinux1_i686.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | ac9d1846a5c7a576b86eb9bd8b48f3e756304564fcc876daba8f0d685d0c9c80 |
|
MD5 | e51ecccffe1ae3c26575f69cf04601e6 |
|
BLAKE2b-256 | 012156e29cfd33ae45a2cc02b631e0a2912006e951e594c09d0f697ff1e968c5 |
哈希值 for pyskycoin-0.26.0-cp27-cp27mu-manylinux1_i686.manylinux1_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 2d69b353c5e5cede2fe1915b0e839d482032773caaea6dba1fc5bf821144f31e |
|
MD5 | faad426490e437e9cbb39f3caf921cb2 |
|
BLAKE2b-256 | 2e1b8efb388196a2a128d922abdee383fc5a401b0592db0679a80924c535ec0a |
哈希值 for pyskycoin-0.26.0-cp27-cp27m-manylinux1_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | bfa4603d56c41e57d96c02ddf4a7cf07a7e01832ee7606c739a17008b0eb56b7 |
|
MD5 | fc4f860c4ca75c7ab71deb83749405ff |
|
BLAKE2b-256 | d027c8249bbe5446857fe7a3745b03ce824ab1c6d44b338f167cf076c139e0e5 |
哈希值 for pyskycoin-0.26.0-cp27-cp27m-manylinux1_x86_64.manylinux1_i686.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 2b18b729c507078774d223ab5f3ea5bbe93df67f3a8e8859e450dfa0d7bcdbcd |
|
MD5 | e8ef3de3916e43759c690e24f7ca5665 |
|
BLAKE2b-256 | ad0239a19c78870300c2fe7b15467b1b50d5381415613d6980997d64bf693424 |
哈希值 for pyskycoin-0.26.0-cp27-cp27m-manylinux1_i686.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 84b055b774854a8c5a1058bf9fb720ee30e887c52936e8edc88d6bd5b55427b0 |
|
MD5 | 3ce966fc9ed0e04fc41f759d8e2cab88 |
|
BLAKE2b-256 | 03b6f02ce41809e6d04d3444c8533d532e2d9d334bc5012d0fbd6f1f97c07a58 |
哈希值 for pyskycoin-0.26.0-cp27-cp27m-manylinux1_i686.manylinux1_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | c73d4c793103cdc4ec356e806a9090ce4a01ef6d76fcf3c77b99fe1a278574f9 |
|
MD5 | 87380b8140fa11396437d0881a62be3c |
|
BLAKE2b-256 | 21160811e7ab090a4dc3e8bc725fcde7c0c8d467f9fa91873a534e3e5b90a409 |
哈希值 for pyskycoin-0.26.0-cp27-cp27m-macosx_10_13_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 0904611ae0b70a0fb4c09652ba8a1de5869d70be5281e4b0ba0d153770bada41 |
|
MD5 | b44ff70861e648057425683095d569d6 |
|
BLAKE2b-256 | 309c3c7af8d2967ede70928d57bd90ee8e845717ebd8a2622ed29e027b84cf3f |