DigiCurrency 板


LINE

大家好,我最近在研究私有链的部份, 并且用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://webptt.com/cn.aspx?n=bbs/DigiCurrency/M.1518066787.A.DAD.html
1F:推 ousapas: 你是用parity还是geth? 02/08 20:35
2F:→ fugenyuzen: 我是用geth,发布智能合约的方式是用mist发布的。再使 02/08 21:03
3F:→ fugenyuzen: 用tuffle将abi转成java档 02/08 21:03
4F:推 bikeboy106: TX Nonce 你可以自己设定 或是让node帮你决定 最好方 02/08 21:57
5F:→ bikeboy106: 式你自己架一个node 自己送tx到自己的node 让你的node 02/08 21:57
6F:→ bikeboy106: 广播transaction出去 02/08 21:57
7F:推 ousapas: 你要不要把code贴出来 02/08 22:15
8F:→ ousapas: 我的猜想是sendAsync来不及帮你递增nonce 02/08 22:15
9F:→ ousapas: ethereum的设计是一个帐号的交易nonce必须是递增数列 02/08 22:15
10F:→ ousapas: 短时间送出太多tx,可能会造成中间有重复的nonce 02/08 22:16
11F:→ ousapas: 重复nonce的tx都会被拒绝处理 02/08 22:16
12F:→ ousapas: 所以才会造成有些成功有些失败的现象 02/08 22:17
※ 编辑: fugenyuzen (114.41.104.107), 02/08/2018 23:15:30
13F:推 bikeboy106: 印象中web3是不处理nonce的, 所以要嘛client side自 02/09 00:44
14F:→ bikeboy106: 己指定 不然就是node给. 所以听起来像是node使用的版 02/09 00:44
15F:→ bikeboy106: 本有TX nonce 同步的问题 02/09 00:44
16F:→ bikeboy106: 要去看node 的 log才知道发生什麽问题 02/09 00:45
17F:→ fugenyuzen: 目前应该是找到方法解决了,我自己给nonce并且递增就可 02/09 16:37
18F:→ fugenyuzen: 以正常的把资料往上送,谢谢上面二位给我很大的帮助 02/09 16:37







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Gossiping站内搜寻

TOP