bitstamp的新身份验证说明如下:
Signature是HMAC-SHA256编码消息,包含:nonce,客户端ID和API密钥.必须使用通过API密钥生成的密钥生成HMAC-SHA256代码.此代码必须转换为十六进制表示形式(64个大写字符).示例(Python):message = nonce + client_id + api_key signature = hmac.new(API_SECRET,msg = message,digestmod = hashlib.sha256).hexdigest().上()
来源:链接
我有以下代码来添加新签名(和其他参数):
public void AddApiAuthentication(RestRequest restRequest)
{
var nonce = DateTime.Now.Ticks;
var signature = GetSignature(nonce, apiKey, apiSecret, clientId);
restRequest.AddParameter("key", apiKey);
restRequest.AddParameter("signature", signature);
restRequest.AddParameter("nonce", nonce);
}
private string GetSignature(long nonce, string key, string secret, string clientId)
{
string msg = string.Format("{0}{1}{2}", nonce,
clientId,
key);
return ByteArrayToString(SignHMACSHA256(secret, StrinToByteArray(msg))).ToUpper();
}
public static byte[] SignHMACSHA256(String key, byte[] data)
{
HMACSHA256 hashMaker = new HMACSHA256(Encoding.ASCII.GetBytes(key));
return hashMaker.ComputeHash(data);
}
public …Run Code Online (Sandbox Code Playgroud) 我创建了我的新altercoin,但是当我第一次运行它时,它已经显示:"5周后没有可用的阻止源".我在局域网中启动另一台计算机,它们成功连接.我使用Datacoin的代码.
static const uint256 hashGenesisBlockOfficial("f9f6d9a689f7a4093c71f397d8fe3fbef3a05cd6f919d51b4a9447aa22743dfb");
static const uint256 hashGenesisBlockTestNet("f9f6d9a689f7a4093c71f397d8fe3fbef3a05cd6f919d51b4a9447aa22743dfb");
// Genesis block
qDebug()<<"Genesis block";
const char* pszStartTopic = "The Times 26/Dec/2013 Chancellor on brink of second bailout for banks";//https://bitcointalk.org/index.php?topic=325735.0";
CTransaction txNew;
txNew.vin.resize(1);
txNew.vout.resize(1);
txNew.vin[0].scriptSig = CScript() << 0 << CBigNum(999) << vector<unsigned char>((const unsigned char*)pszStartTopic, (const unsigned char*)pszStartTopic + strlen(pszStartTopic));
txNew.vout[0].nValue = COIN;
txNew.vout[0].scriptPubKey = CScript();
CBlock block;
block.vtx.push_back(txNew);
block.hashPrevBlock = 0;
block.hashMerkleRoot = block.BuildMerkleTree();
block.nTime = 1387977869 ;//http://www.unixtimestamp.com/index.php
block.nBits = TargetFromInt(6);
block.nNonce = 49030125;
block.bnPrimeChainMultiplier = (uint64) 5651310;
if …Run Code Online (Sandbox Code Playgroud) 通过使用在线工具和维基百科我发现每个sha-256加密字符串是包含数字和字符的64个字符长.因此我假设有34 ^ 36个组合(2 ^ 216由代数计算器简化).经过一些研究后我发现大多数人说有2 ^ 256种组合.有人能解释一下吗 为了使上下文清晰,我写了一篇关于加密货币的论文,并尝试解释有多少不同的加密组合以及可以花多长时间(因此可以进行多少次猜测)并将其与总的原子数进行比较.宇宙(大约10 ^ 85).
热衷于downvoters和/或关闭者:如果你认为这是SO的offtopic,请指出我的其他StackExchange站点,这个问题更合适.
如何在PHP中实现ECDSA曲线secp256k1?
或者说:是否有任何解决方案 - 即.包括专业课程 - 已经完成了吗?
我可以看到有很多开源库,类和其他语言可用的东西(JavaScript,Python,...)但我整个下午都在谷歌上搜索一些/任何PHP解决方案而且...... 没有!.
这是我的比特币项目,我需要一种如何从私钥生成公钥的方法 ...... 然后我想生成最终的比特币地址.
我知道如何生成私钥(不要担心它是随机的或不是 - 这里不是问题)我有256位十六进制和WIF符号.但下一步:提出一个公钥,然后是最终的比特币地址,对我来说是一个问题,因为我确实没有加密的背景,我知道解决方案是以某种方式利用secp256k1.
这是我到目前为止:
// Random bytes
// $private_key = bin2hex(openssl_random_pseudo_bytes(32));
// But using brainwallet.org style to have easy comparison
$passphrase = "correct horse battery staple";
$private_key = hash('sha256', $passphrase);
var_dump ("PrivKey: $private_key");
// Bitcoin::privKeyToWIF from github.com/mikegogulski/bitcoin-php
$wif = Bitcoin::privKeyToWIF($private_key);
var_dump ("WIF PrivKey: $wif");
// And now I don't know where to even start …Run Code Online (Sandbox Code Playgroud) 谷歌是否正式允许(或至少容忍)这样做?
我有一些用户向我建议,添加一个点击“捐赠按钮”可能是一个好主意,打开他们默认的 Android 比特币钱包应用程序,并预先填写我的比特币地址。但是,嘿,我不想看到我的应用程序因此被暂停!
您是否在 Google Play 上看到过一些应用程序或小部件这样做?
我猜可能会问有关 Paypal 捐款的相同问题...
感谢您分享您的意见。
我想获取有关币安佣金的信息。特别是关于交易佣金(交易所操作,例如我想购买ETH并用BTC支付)。我查看了所有 binance git: https: //github.com/binance-exchange,但没有发现任何相关内容。我发现的最接近的是帐户信息。使用curl GET /api/v3/account我们可以获得具有以下内容的响应(完整示例在这里):
{
"makerCommission": 15,
"takerCommission": 15,
"buyerCommission": 0,
"sellerCommission": 0
}
Run Code Online (Sandbox Code Playgroud)
但我不太明白 Maker 和 Taker 佣金是什么意思,15 是一个很奇怪的数字。买家和卖家也是如此,因为他们很可疑,他们都是0。
我很确定这应该是获取此信息的一种方式,因为,例如,HitBTC 有这样的信息:https://api.hitbtc.com/#get-trading-commission
我将非常感谢任何帮助和信息。提前致谢!
我正在尝试将 Go 中的椭圆曲线secp256k1与库“crypto/x509”一起使用。密钥对生成后,我分别获得公钥pubKey和私钥privKey。之后,我想生成一个包含公钥的证书,但在我想将私钥存储在.pem文件中之前:
keyDer, err := x509.MarshalECPrivateKey(privKey)
if err != nil {
log.Fatalf("Failed to serialize ECDSA key: %s\n", err)
}
Run Code Online (Sandbox Code Playgroud)
但是当我尝试将 EC 私钥编组为 ASN.1、DER 格式并编译代码时,我收到一条错误消息:
无法序列化 ECDSA 密钥:x509:未知的椭圆曲线
在这种情况下,我有必要使用该特定曲线,因此我无法更改为prime256v1或“相似曲线”。是否有解决方案允许在crypto/x509库中添加对secp256k1的支持,或者其他方式/建议?
我最近正在阅读有关区块链的文章,并对这项技术非常感兴趣。我有几个关于区块链的问题:
区块链是否使用网络套接字在用户之间传输信息?如果是,那么发送的信息(块)是否总是一个 JSON 对象?
是否所有用户都拥有区块链的完整副本,他们每个人是否只看到区块链的部分副本?如果是,那么文件可以有多大?
另外,什么决定交易/秒?我读到比特币大约 7 笔交易/秒,需要什么才能使它们更具可扩展性,是编码因素,例如编写更有效的算法 (big-O) 还是某种硬件限制?
对不起,如果这些问题看起来微不足道,但我是一个试图学习这项技术的新手。任何帮助,将不胜感激。
我检查了我能想到的所有函数,但在 Binance C# API 中没有看到任何相关内容:https: //github.com/JKorf/Binance.Net
如果可能的话,我想要的只是按照市值排名的顺序列出在列表视图中显示的代币。
有没有办法在 RSK 上使用智能合约来查询所有当前 pegnatories 的地址?并且在不依赖 RSK 上的 3rd 方预言机的情况下这样做?
对于上下文:这里的目的是让智能合约将费用产生的部分收入分配给 pegnatories,以促进 RSK 链的可持续性和安全性。
请注意,这是上一个关于 RSK 桥接器的后续问题。
bitcoin ×10
c# ×2
.net ×1
android ×1
binance ×1
blockchain ×1
certificate ×1
cryptography ×1
ecdsa ×1
ethereum ×1
go ×1
hash ×1
paypal ×1
php ×1
php-openssl ×1
rest ×1
rsk ×1
security ×1
sha256 ×1
solidity ×1
web-services ×1