web3j呼叫智能合約的問題 - 數位貨幣

By David
at 2018-02-08T13:13
at 2018-02-08T13:13
Table of Contents
大家好,我最近在研究私有鏈的部份,
並且用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();
--
並且用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();
--
Tags:
數位貨幣
All Comments

By Jacky
at 2018-02-12T13:28
at 2018-02-12T13:28

By Lily
at 2018-02-13T06:23
at 2018-02-13T06:23

By Genevieve
at 2018-02-17T04:19
at 2018-02-17T04:19

By Poppy
at 2018-02-17T05:56
at 2018-02-17T05:56

By Olive
at 2018-02-21T04:45
at 2018-02-21T04:45

By Blanche
at 2018-02-22T05:26
at 2018-02-22T05:26

By Hamiltion
at 2018-02-26T23:06
at 2018-02-26T23:06

By Faithe
at 2018-02-28T09:47
at 2018-02-28T09:47

By Edward Lewis
at 2018-03-02T06:26
at 2018-03-02T06:26
Related Posts
請問A卡跟N卡各適合挖那些幣?

By Ivy
at 2018-02-08T12:01
at 2018-02-08T12:01
看來比特幣並不具有避險的功能

By Aaliyah
at 2018-02-08T12:01
at 2018-02-08T12:01
美國otcm 市場 gbtc

By Donna
at 2018-02-08T10:20
at 2018-02-08T10:20
看來比特幣並不具有避險的功能

By Eartha
at 2018-02-08T00:53
at 2018-02-08T00:53
有人知道各幣的漲跌為何幾乎都是同時的

By Carolina Franco
at 2018-02-07T23:33
at 2018-02-07T23:33