web3.eth.signを非同期処理にしたい
truffleとInfura - Scalable Blockchain InfrastructureとMetamaskでコントラクトをテストする時に,web3.eth.signでエラーが出たのでメモ.
- infuraとMetamaskを用いて,testnetでテストするとtruffleHDwalletProviderではweb3@0.0.2を使用しているためエラー
- なぜかというと,web3@0.0.2のweb3.eth.signはpromiseで返っていない.
- truffleHDwalletProviderでは非同期的な処理しか認めていなく,弾かれる.
- web3.eth.signをdocumentにしたがってcallbackするように変更
<?JavaScript
web3.eth.sign(organizer,hash, function(error, result){
if(!error)
console.log(JSON.stringify(result));
else
console.error(error);
})
?>
参考
JavaScript API · ethereum/wiki Wiki · GitHub