[求助] web3j呼叫智能合約的問題
大家好,我最近在研究私有鏈的部份,
並且用ethereum wallet發佈了一個智能合約在上面,
該智能合約很簡單,只是一個map形式的結構(key,value),
一個方法是新增,一個方法是查詢,
目前使用web3j的方式來呼叫,
但我發現短時間內大量使用web3j sendAsync()呼叫該智能合約做新增的動作,
會漏掉中間某些數據沒有成功上去,
但若使用send(),會需要10幾秒的時間才結束,太慢了,
在網路上找了很久,發現可能和nonce有關係?
不知道有誰有類似經驗的,可以回答我該怎麼做嗎?謝謝
----------------------------------------------------------------
智能合約:
contract dataStore {
struct DataStruct {
string key;
string value;
}
mapping (string => DataStruct) datas;
function newData(string key, string value) public {
datas[key] = DataStruct(key, value);
}
function getValue(string key) public view returns (string value) {
DataStruct storage c = datas[key];
return c.value;
}
}
web3j程式:
String url = "http://localhost:8545";
Web3j web3j = Web3j.build(new HttpService(url));
Credentials credentials = null;
credentials = WalletUtils.loadCredentials("xxx", account);
DataStore contract = DataStore.load(address, web3j, credentials,
Contract.GAS_PRICE, Contract.GAS_LIMIT);
contract.newData("test", "testxxxxx").sendAsync();
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.163.177.126
※ 文章網址: https://www.ptt.cc/bbs/DigiCurrency/M.1518066787.A.DAD.html
推
02/08 20:35,
6年前
, 1F
02/08 20:35, 1F
→
02/08 21:03,
6年前
, 2F
02/08 21:03, 2F
→
02/08 21:03,
6年前
, 3F
02/08 21:03, 3F
推
02/08 21:57,
6年前
, 4F
02/08 21:57, 4F
→
02/08 21:57,
6年前
, 5F
02/08 21:57, 5F
→
02/08 21:57,
6年前
, 6F
02/08 21:57, 6F
推
02/08 22:15,
6年前
, 7F
02/08 22:15, 7F
→
02/08 22:15,
6年前
, 8F
02/08 22:15, 8F
→
02/08 22:15,
6年前
, 9F
02/08 22:15, 9F
→
02/08 22:16,
6年前
, 10F
02/08 22:16, 10F
→
02/08 22:16,
6年前
, 11F
02/08 22:16, 11F
→
02/08 22:17,
6年前
, 12F
02/08 22:17, 12F
※ 編輯: fugenyuzen (114.41.104.107), 02/08/2018 23:15:30
推
02/09 00:44,
6年前
, 13F
02/09 00:44, 13F
→
02/09 00:44,
6年前
, 14F
02/09 00:44, 14F
→
02/09 00:44,
6年前
, 15F
02/09 00:44, 15F
→
02/09 00:45,
6年前
, 16F
02/09 00:45, 16F
→
02/09 16:37,
6年前
, 17F
02/09 16:37, 17F
→
02/09 16:37,
6年前
, 18F
02/09 16:37, 18F
DigiCurrency 近期熱門文章
PTT數位生活區 即時熱門文章