我正在尝试为Bitcoin
克隆创建一个语句,该克隆每隔一定数量的块执行一次coinbase支付(例如,每5000个块,它会向给定地址支付100个硬币)。我最接近的是:
if(pindexBest->nHeight+1==5000){
std::map<std::string,int64> genesisBalances= getGenesisBalances();
std::map<std::string,int64>::iterator balit;
int i=1;
int64 total=0;
txNew.vout.resize(genesisBalances.size()+1);
for(balit=genesisBalances.begin(); balit!=genesisBalances.end(); ++balit){
//printf("gb:%s,%llu",balit->first.c_str(),balit->second);
CBitcoinAddress address(balit->first);
txNew.vout[i].scriptPubKey.SetDestination( address.Get() );
txNew.vout[i].nValue = balit->second;
total=total+balit->second;
i++;
}
printf("Total ...%llu\n",total);
}
我希望它每5000块执行支付,但我无法弄清楚如何做到这一点。
我也想对接收地址进行硬编码。
我知道
txNew.vout[i].scriptPubKey.SetDestination( address.Get() );
是获取目标地址的位置。这会有用吗?
txNew.vout[i].scriptPubKey= "insertscriptpubkeyhere";