2017-11-08 7 views
0

私はweb3jGethでスマートコントラクトをテストしています。 ゲスは、そのようなスクリプトで実行されている:プライベートブロックチェーンのゲットトランザクションを高速化するにはどうすればよいですか?

PASSFILE=/var/folders/_l/kl9pdj2x50v7416j8htb6w740000gn/T/pwd6597172766860806720.tmp 
DATADIR=/var/folders/_l/kl9pdj2x50v7416j8htb6w740000gn/T/geth808290308908087582 
IPCPATH=/var/folders/_l/kl9pdj2x50v7416j8htb6w740000gn/T/geth808290308908087582/geth.ipc 

geth --datadir $DATADIR account new --password $PASSFILE 
geth --datadir $DATADIR \ 
    --ipcpath $IPCPATH \ 
    --dev \ 
    --rpc \ 
    --mine \ 
    --networkid 1999 

(経路がテストで生成されます)。

スマートコントラクトラッパーはweb3j-maven-pluginで生成されます。

166955 [main] INFO FeatureTest - Deploying feature ... 
182006 [main] INFO FeatureTest - Checking feature is listed ... 

Web3jはIPCを介して接続されています:

(あなたは1つのトランザクションが16秒かかっ見ることができます)

private TransactionReceipt deployFeature_() throws Exception { 
    logger.info("Deploying feature ..."); 
    return contract.deployFeature(featureKey).send(); 
} 

ログ:

問題は、すべてのsend()呼び出しが数秒かかることです

web3 = Web3j.build(new UnixIpcService(ipcPath)); 

私はどのようにスピードアップの呼び出しをすることができますか? TestRPCの呼び出しですべての呼び出しが1秒未満で済む場合! Geth--devで開始されるので、起源ファイル自体を生成するため、難易度を変更することはできません。また、ブロックが非常に高速にマイニングされていることがわかります。

INFO [11-09|00:34:39] Commit new mining work     number=9 txs=0 uncles=0 elapsed=2.000s 
INFO [11-09|00:34:39] Successfully sealed new block   number=9 hash=b869ca…870644 
INFO [11-09|00:34:39] block reached canonical chain   number=4 hash=c758a0…a529af 
INFO [11-09|00:34:39] mined potential block     number=9 hash=b869ca…870644 
INFO [11-09|00:34:39] Commit new mining work     number=10 txs=0 uncles=0 elapsed=84.12µs 
INFO [11-09|00:34:40] Successfully sealed new block   number=10 hash=5e81a9…fc1364 
INFO [11-09|00:34:40] block reached canonical chain   number=5 hash=465c2b…78461a 
INFO [11-09|00:34:40] mined potential block     number=10 hash=5e81a9…fc1364 

何らかの理由で呼び出しが高速ではありません。私に何ができる?

+0

は、適切なキャッシュ値で 'GETH --cache XXX'を起動しよう。デフォルトでは128MBです – palik

+0

私はちょうど '--fast --cache = 1024'を試しましたが、ブロックは採掘されてから1秒毎 – 4ntoine

答えて

関連する問題