wallet_api_plugin is no longer supported as part of nodeos. Use keosd instead.
https://developers.eos.io/keosd/docs
您正在查看: Surou 发布的文章
unable to find plugin: eosio::wallet_api_plugin
eos 1.8 启动 mongo_db_plugin 插件 ENABLE_MONGO
./eosio_build.sh -m // 添加参数支持mongo
支持的参数
function usage() {
printf "Usage: $0 OPTION...
-P Build with pinned clang and libcxx
-o TYPE Build <Debug|Release|RelWithDebInfo|MinSizeRel> (default: Release)
-s NAME Core Symbol Name <1-7 characters> (default: SYS)
-b DIR Use pre-built boost in DIR
-i DIR Directory to use for installing dependencies & EOSIO (default: $HOME)
-y Noninteractive mode (answers yes to every prompt)
-c Enable Code Coverage
-d Generate Doxygen
-m Build MongoDB dependencies
\\n" "$0" 1>&2
exit 1
}
EOS 合约中使用eosio::checksum256作为查询索引,查询不到问题
演示合约代码
合约中Table表结构
struct [[eosio::table, eosio::contract("bcskillsurou")]] extract_token {
uint64_t id;
eosio::checksum256 transaction_id; // 交易单id
auto primary_key() const { return id; }
eosio::checksum256 second_key() const { return transaction_id; } // 已hash作为二级索引
EOSLIB_SERIALIZE(extract_token, (id)(transaction_id))
};
typedef eosio::multi_index<"xxxxtb"_n, extract_token, eosio::indexed_by<"bysubkey"_n, eosio::const_mem_fun<extract_token, eosio::checksum256, &extract_token::second_key>>> xxxx_table;
合约中查询代码
ACTION findtrxid(eosio::checksum256 trx_id){
....
xxx_table xxxtb(_self, _self.value);
auto sub_extract_index = xxxtb.get_index<"bysubkey"_n>();
auto itr_xxx = sub_xxx_index.find(trx_id);
eosio_assert(itr_extract != sub_xxx_index.end(), "Record not found");
....
}
使用Cleos 复现问题
cleos push action 合约账户 findtrxid '{"trx_id":0bb0e5901c3b627484c6a1a473ba8e3e3a3ffb4b96f849e08afb2d1e2671b88d}' -p 合约账户
返回
Error 3050003: eosio_assert_message assertion failure
Error Details:
assertion failure with message: {"code":102,"msg":"Record not found 563"}
经过测试发现是因为eosio::checksum256 trx_id传参最终打包不是已字符串打包导致,交易id上传后被识别成了
1116029241376226714100000000000000000000000000000000000000000000
解决方案
修改eosio::checksum256 trx_id为字符串即可
cleos push action 合约账户 findtrxid '{"trx_id":"0bb0e5901c3b627484c6a1a473ba8e3e3a3ffb4b96f849e08afb2d1e2671b88d"}' -p 合约账户
对于其他语言封装,处理eosio::checksum256 trx_id统一字符串打包即可
备注
特殊hash复现
参考
https://eosio.github.io/eosio.cdt/1.6.0/group__multiindex.html
received a go away message from xxxx, reason = authentication failure
主动连接方提示:
info 2019-09-03T07:20:45.197 thread-0 net_plugin.cpp:2293 handle_message ] received a go away message from 17.1.0.9:7860, reason = authentication failure
被连接方提示:
error 2019-09-04T09:30:24.112 thread-0 net_plugin.cpp:2715 authenticate_peer ] Peer web0_92:6886 - 5a05387 sent a handshake with a timestamp skewed by more than 1 second.
error 2019-09-04T09:30:24.112 thread-0 net_plugin.cpp:2251 handle_message ] Peer not authenticated. Closing connection.
由于BP节点config设置了对等网络验证
allowed-connection = producers
allowed-connection = specified
此时被链接方已经添加了主动连接方的peer-key
peer-key = "FSC71Uiuk23RACZ2PKDZQUeAgyA4w8g9DYurjtBktNes382zn1tMP"
namespace sc = std::chrono;
sc::system_clock::duration msg_time(msg.time);
auto time = sc::system_clock::now().time_since_epoch();
if(time - msg_time > peer_authentication_interval) {
fc_elog( logger, "Peer ${peer} sent a handshake with a timestamp skewed by more than ${time}.",
("peer", msg.p2p_address)("time", "1 second")); // TODO Add to_variant for std::chrono::system_clock::duration
return false;
}
Peer clock may be no more than 1 second skewed from our clock, including network latency.
对等时钟与我们的时钟相差不超过1秒,包括网络延迟。
主动连接方发起连接时(当前机器本地时间)到被连接方处理时(被连方本地时间)不能超过1秒(peer_authentication_interval)
如果超时就直接拒绝
解决方案
各节点开启定时同步时间服务
sudo apt-get install chrony
eos build tag --dirty
git describe --tags --dirty
git update-index --refresh
git describe --tags --dirty
参考
最新回复
fzd: 请问这个解决了吗
StarkWare explained: layer 2 solution provider of dYdX and iMMUTABLE R11; BitKeep News: [...]Layer 2: https://...
一文读懂 StarkWare:dYdX 和 Immutable 背后的 L2 方案 R11; BitKeep 博客: [...]Layer 2:Comparing Laye...
http://andere.strikingly.com/: Regards, Great stuff!
surou: 需要先执行提案合约申请,等待出块节点地址同意后,才会进...
heco: WARN [11-19|11:26:09.459] N...
P: 你好,我在heco链上遇到了“tx fee excee...
Peng: 楼主安装成功了吗?我正在同步区块链,一天了,差不多才同...
joyhu: 你好,请问下安装好之后如何获取到bee.yaml配置文...
kaka: 支票最终怎么提币呢?
归档
September 2026July 2026June 2026May 2026April 2026March 2026February 2026January 2026December 2025November 2025October 2025September 2025August 2025July 2025June 2025May 2025April 2025March 2025February 2025January 2025December 2024November 2024October 2024September 2024August 2024July 2024June 2024May 2024April 2024March 2024January 2024December 2023November 2023October 2023September 2023August 2023July 2023June 2023April 2023March 2023February 2023January 2023December 2022November 2022October 2022August 2022July 2022June 2022May 2022March 2022February 2022January 2022December 2021November 2021October 2021September 2021August 2021July 2021June 2021May 2021April 2021March 2021February 2021January 2021December 2020November 2020October 2020September 2020July 2020June 2020May 2020April 2020March 2020February 2020January 2020December 2019November 2019October 2019September 2019August 2019July 2019June 2019May 2019April 2019March 2019February 2019January 2019December 2018November 2018October 2018September 2018August 2018July 2018June 2018