-
NakedKing
Hi, monero-cli not starting to sync. The last message: The daemon will start synchronizing with the network. This may take a long time to complete.
-
NakedKing
What can i try?
-
NakedKing
* working on stagenet. the starting command ./monerod --stagenet
-
willshu[m]
-
-
willshu[m]
Why signing an unsignedHex offline will throw an error about `imported outputs omit more outputs that we know of`?
-
osho_xmr[m]
i think u need daemon to sign tx
-
willshu[m]
-
willshu[m]
I use a view-only wallet and an offline wallet
-
moneromooo
That probably means you exported outputs without importing them. By default, this is incremental. To fix it when it's gone out of sync, export everything once.
-
willshu[m]
moneromooo: How would my offline wallet know that my view-only wallet has not imported all of them?
-
moneromooo
The view wallet does not import them.
-
willshu[m]
moneromooo: So this is what my code should look like?
-
willshu[m]
-
moneromooo
Dunno. I don't know what the rest does, but one thing comes to mind: if this is a new wallet, it's not going to know about any outputs yet, so the outputsHex is going to need to be the full set.
-
stradi
I just finished synchronizing the Daemons on a new windows install of GUI but the Advanced feature for mining is not visible in the tab.
-
stradi
What can I do?
-
sech1
Non-dev questions -> #monero, please
-
stradi
Thank you
-
ooo123ooo1234567
-
r4v3r23[m]
not sure if this is the place, but ive noticed a bug where the wallet sometimes starts syncing from the start of the chain instead of the given restore height
-
moneromooo
Repro with log level 2, check logs to see what it's doing.
-
r4v3r23[m]
<moneromooo> "Repro with log level 2, check..." <- im on GUI and set it to 2. dont see logs
-
-
r4v3r23[m]
i set a restore date of 20210909 and it starts syncing at 2.6 million blocks
-
moneromooo
No file ending in .log where monreo-wallet-gui is ?
-
sech1
are you sure 20210909 was a date and not a block height?
-
r4v3r23[m]
sech1: sept 9 2021
-
merope
It's 10x the current block height, so can't be a height
-
sech1
yes, so maybe this is why wallet decides to sync everything
-
merope
Unless the code somehow mistakes it for one, figures out it's in the future, then starts from 0
-
r4v3r23[m]
merope: that looks like whats happening. im not including dashes
-
r4v3r23[m]
2021-09-09
-
r4v3r23[m]
just restored using the dashes and getting the same thing
-
-
ooo123ooo1234567
redirect to monero-gui
-
r4v3r23[m]
ooo123ooo1234567: its happening on monerujo/shruum too
-
ooo123ooo1234567
is it reproducible with cli ?
-
r4v3r23[m]
ill try
-
r4v3r23[m]
-
plowsof[m]
is this not a gui / user input issue? where when using a date it needs dashes , and even still, the gui will choose an actual block height of a few weeks prior anyway
-
r4v3r23[m]
plowsof[m]: i used dashes and it still syncs from start of chain
-
r4v3r23[m]
<ooo123ooo1234567> "is it reproducible with cli ?" <- is there an option to restore from date? i also see height arg
-
r4v3r23[m]
s/also/only/
-
ooo123ooo1234567
`monero-wallet-cli --help | grep restore`
-
moneromooo
It looks like you're using some daemon from the internet. Is it yours ?
-
r4v3r23[m]
moneromooo: no its a remote node
-
r4v3r23[m]
ive tried others and got same result
-
r4v3r23[m]
dont judge me plowsof ;)
-
moneromooo
You'd need to add logs in get_blckchain_complement (IIRC) to see where the connmction point lands.
-
moneromooo
Maybe the issue's in the wallet, maybe in the daemon.
-
moneromooo
Or, actually, as a first thing, dump the short chain the wallet sends to the daemon, check whether most early hashes are on the chain.
-
moneromooo
(parameter to fast_refresh, which is what's logging the "skpped" lines in your log)
-
moneromooo
It could plausibly be a bug with the hashchain code, which ends up sending bad data.
-
-
moneromooo
Or maybe if it's anew wallet it'll always get all hashes anyway. I forget.
-
moneromooo
It certanly needs the last N for non trivial N.
-
r4v3r23[m]
CLI also syncing from 2650577
-
r4v3r23[m]
moneromooo: you lost me here
-
plowsof[m]
your screenshot shows that you tried to sync a view wallet without a daemon address -> crash, then you open a view wallet without a restore height defaulting to 0
-
ooo123ooo1234567
<r4v3r23[m]> "not sure if this is the place..." <- `the start of the chain` is it genesis or the last block ?
-
r4v3r23[m]
plowsof[m]: i generated the wallet with that restore date
-
r4v3r23[m]
then opened it
-
r4v3r23[m]
im not very familiar with cli im just trying to reproduce
-
-
moneromooo
I mean, (1) check the data the wallet sends is OK, and (2) it looks like those blocks go through the "just get hashes, don't scan" path AFAICT.
-
moneromooo
That path should be reaaaally fast. Is it not ?
-
moneromooo
Maybe it's because your daemon's not local...
-
» moneromooo afk for a bit
-
plowsof[m]
if you listened to ooo123 you would have seen that `--restore-height arg (=0) Restore from specific blockchain height`
-
ofrnxmr[m]1
moneromooo: Ooo will cover for you :D
-
plowsof[m]
nvm you used date , good job
-
r4v3r23[m]
plowsof[m]: if you read above youd see we are talking about restoring from a specific date
-
r4v3r23[m]
plowsof[m]: same result tho
-
ofrnxmr[m]1
moneromooo: Are you sure this isnt whats going on?
-
r4v3r23[m]
ofrnxmr[m]1: not sure how to check :)
-
r4v3r23[m]
can you walk me through it?
-
r4v3r23[m]
just to be sure, expected behaviour is it should show : XXX/restore_date_block_height tight?
-
r4v3r23[m]
s/restore_date_block_height/restore\_date\_block\_height/, s/tight/right/
-
ooo123ooo1234567
-
r4v3r23[m]
ooo123ooo1234567: you are also syncing the entire chain here
-
plowsof[m]
line 14 vs line 24 is the issue?
-
r4v3r23[m]
should it start syncing from block 2444801?
-
ooo123ooo1234567
big 10_000 steps are related to fetching of block headers, it isn't full synchronization
-
r4v3r23[m]
<r4v3r23[m]> "image.png" <- ooo123ooo1234567: so nothing is wrong here?
-
ooo123ooo1234567
in your cases you didn't specify correct daemon during generation and therefore restore height is zero
-
ooo123ooo1234567
* correct daemon address during generation
-
ooo123ooo1234567
--restore-date makes sense only during creation
-
r4v3r23[m]
youre pastebin still shows 2.6 mil blocks. is what im describing not an issue?
-
ooo123ooo1234567
`Height 2458879 / 2642253` it's just current / final heights to track sync progress
-
r4v3r23[m]
ooo123ooo1234567: `Height 19997 / 2650587`
-
ooo123ooo1234567
before restore height it should do 10_000 steps, after it will be slower
-
r4v3r23[m]
ooo123ooo1234567: ok
-
ooo123ooo1234567
why did you post view key for real wallet ?
-
ooo123ooo1234567
-
r4v3r23[m]
ooo123ooo1234567: its a public project donation wallet
-
ooo123ooo1234567
which one ?
-
ooo123ooo1234567
* nvm, found the answer
-
moneromooo
ofrnxmr[m]1: sure that what is going on ?
-
ooo123ooo1234567
<moneromooo> "You'd need to add logs in..." <- is it colemak ?
-
ofrnxmr[m]1
<moneromooo> "ofrnxmr: sure that what is going..." <- Apologies. I meant to quote you and tag r4v3r
-
r4v3r23[m]
<moneromooo> "You'd need to add logs in..." <- how do i do this?
-
ooo123ooo1234567
it's patch for code in human friendly way, not need though since there is nothing to debug in your case
-
ooo123ooo1234567
s/though/now/
-
ooo123ooo1234567
* it's patch for code in human friendly way, but there is nothing to debug in your case now
-
moneromooo
Something like, for (const auto &h: short_chain) MGINFO("short_chain: " << h); or similar.
-
r4v3r23[m]
i dont know how to do that. ooo says there is no issue
-
moneromooo
As in, it's fast and just grabs the hashes as above ? If you're happy with that, fine. It should be very quick, at least if you use a local daemon :)
-
ooo123ooo1234567
This part was quite fast even with remote node
-
moneromooo
In theory, one could ask for hashes only from the last checkpoint, but I dont' think it does that atm.
-
ooo123ooo1234567
* This part (before restore height) was quite
-
moneromooo
You said... lemme check the backlog... "the wallet sometimes starts syncing from the start". Why "sometimes" if there is no problem ?
-
moneromooo
Assuming it's alway new wallets (or wallets with the cache removed, etc).
-
r4v3r23[m]
moneromooo: i only brought it up because restoring via restore height used to always start at that block height
-
r4v3r23[m]
even new wallets some times starts from start of chain
-
nioc
Several people have reported that even with a designated restore height wallet scanning starts from the beginning and is very fast scanning up until the restore height.
-
nioc
It has been recently discussed
-
sech1
so it means it doesn't actually scan transactions before restore height, it just checks all blocks quickly
-
nioc
This behavior has existed for years
-
r4v3r23[m]
ok so a non issue :)
-
r4v3r23[m]
just not sure why some wallets do it and others dont
-
ooo123ooo1234567
which don't ?
-
r4v3r23[m]
i was trying multiple wallet creation/restores to try and pin point the issue
-
r4v3r23[m]
some wallets start at the right block heigh, others sync from the start
-
ooo123ooo1234567
any open source wallet that is different ?
-
r4v3r23[m]
i noticed this on shruum/monerujo initially
-
moneromooo
How do you know they do ? Could it be they just pause while getting hashes without telling you thy're doing it ?
-
nioc
My experience is only with the CLI
-
hyc
newly created wallet will try to set restoreheight, but that's only possible if talking to a monerod at the time
-
ooo123ooo1234567
<arnuschky[m]> "Yes, unfortunately. The auditors..." <-
inference.ag/blog/2022-06-21-anoma, probably were busy
-
kayabanerve[m]
<hyc> "newly created wallet will try to..." <- We could time estimate block height from genesis with a one year grace period
-
kayabanerve[m]
Better than multiple years
-
selsta
we already estimate the restore height from date when there is no daemon connection
-
kayabanerve[m]
My only concern would be the fact certain test configs appear as mainnet and we wouldn't know if it's real mainnet or a test
-
kayabanerve[m]
selsta: Oh, great :D
-
kayabanerve[m]
I'll go back to my corner and stop trying to help :p
-
ooo123ooo1234567
hmm, date in report - 20220602, uploaded - 20220610, blog post - 2020621
-
ooo123ooo1234567
s/2020621/2022621/
-
ooo123ooo1234567
s/2020621/20220621/
-
sgp_[m]
Does `get_tx_key` only work for broadcasted transactions? How can we get the tx key for a transaction that hasn't yet been broadcasted?
-
spirobel[m]
when will we get rid of epee and easylogging++ ?
-
sgp_[m]
spirobel: is that a yes to it must have been broadcast to get the tx_key?
-
spirobel[m]
sgp_[m]: I dont know. I can dig a bit to figure it out. But without looking I would assume yes. When I wanted to do get_tx_proof with a tx_hash I had to wait for the monerowalletlistener. Context: during the work on the browser wallet built on monero-javascript
-
moneromooo
It does not have to. The wallet keeps the tx key. It doesn't know when (or if) the daemon broadcasts it (and even whether any broadcast was succesful).
-
spirobel[m]
But there is no fundamental need for it. If there is this limitation it should be just the api
-
sgp_[m]
Our devs are having some difficulty testing the process; it's not returning data for them correctly and our first thought is that it could be since not broadcast yet due to how it's saved in history. But we are looking into further
-
spirobel[m]
sgp_[m]: I also tried to get a tx_proof (which is based on the tx_key) directly after creating/sending the transaction. That lead to an error. So I waited for on_output_spent and then it worked fine.
-
ooo123ooo1234567
<spirobel[m]> "when will we get rid of epee and..." <- `rm -fr /`
-
ooo123ooo1234567
> <@spirobel:matrix.org> when will we get rid of epee and easylogging++ ?
-
ooo123ooo1234567
* `rm -ifr /`
-
spirobel[m]
ooo123ooo1234567: which version of easylogging are we using btw? it is a vendored lib, right?
-
selsta
-
selsta
I doubt we will get rid of it.
-
moneromooo
I don't see why (beyond "let's use my prefered lib now, until someone else comes along and switches to their prefered lib").
-
ooo123ooo1234567
<sgp_[m]> "Does `get_tx_key` only work..." <- What's the source of that tx ?
-
spirobel[m]
selsta: are the patches in the file already or are they somewhere else?
-
moneromooo
It's unmaintained, but works fine AFAICT.
-
selsta
it's all in the file, it's a simple header and source file, it really isn't some annoying dependency that makes everything complicated
-
moneromooo
Like the stupid "let's not use epee" spiel. Replacing *parts* of epee might be good, but "replace it all because I don't like it" is just dumb.
-
moneromooo
If you have a patch that *improves* things, and is common sense compatible, then it could go in.
-
spirobel[m]
selsta: its annoying because it depends on signals for example. I try to compile to wasm. wasm does not have signals
-
moneromooo
I didn't realize it did. I didn't realize windows even *had* signals... /me goes look
-
moneromooo
From what I can tell, it merely hooks to signal to detect a crash to moan about it. We do not use that.
-
moneromooo
I grepped signam and signal. Did you find anthing else ?
-
spirobel[m]
moneromooo: can we get rid of the dependency on <signals> if it is unused anyway? it would help a lot
-
spirobel[m]
would be great to be able to target wasm without emscripten
-
ooo123ooo1234567
`#define ELPP_FEATURE_CRASH_LOG` remove it from ea_config.h
-
spirobel[m]
s/signals/csignals/
-
moneromooo
If it's just that, it's likely you can #ifdef/#ifndef it based on what the code does.
-
ooo123ooo1234567
spirobel[m]: indeed, reading code is more annoying than reading comments from those who didn't read it
-
moneromooo
ie, USE_SIGNALS or so.
-
spirobel[m]
moneromooo: hm...I think it is not possible because it wont compile with the <csignals> in there ``` error(compilation): clang failed with stderr: In file included from /home/test/Projects/zig/monero-zig/external/monero/external/easylogging++/easylogging++.cc:18:
-
spirobel[m]
In file included from /home/test/Projects/zig/monero-zig/external/monero/external/easylogging++/easylogging++.h:373:
-
spirobel[m]
In file included from /snap/zig/5341/lib/libcxx/include/csignal:43:
-
spirobel[m]
/snap/zig/5341/lib/libc/include/wasm-wasi-musl/signal.h:2:2: error: "wasm lacks signal support; to enable minimal signal emulation, compile with -D_WASI_EMULATED_SIGNAL and link with -lwasi-emulated-signal" ```
-
moneromooo
Well, you've got to #ifdef out the signal stuff in it of course :)
-
moneromooo
Otherwise you could just remove the include.
-
moneromooo
But there is very little AFAICT.
-
spirobel[m]
moneromooo: true. Maybe we can just get rid of it. Not good to depend on signals there.
-
ooo123ooo1234567
<spirobel[m]> "would be great to be able to..." <- not a priority
-
ooo123ooo1234567
<sgp_[m]> "Our devs are having some..." <- are these experiments publicly available ?
-
spirobel[m]
ooo123ooo1234567: you are the CEO here I guess...
-
spirobel[m]
fine...I will just patch it for myself
-
ooo123ooo1234567
"#define ELPP_FEATURE_CRASH_LOG remove it from ea_config.h" did you try this ?
-
selsta
you likely still need to remove the csignal include, but it's not much work
-
selsta
two lines changed
-
ooo123ooo1234567
probably just that include would be enough
-
selsta
don't know if __GLIBC__ or __GNUC__ is defined when compiling to wasm
-
ooo123ooo1234567
-
ooo123ooo1234567
-
ooo123ooo1234567
<spirobel[m]> "fine...I will just patch it..." <- those who are patching for themselves usually know how t read code too
-
ooo123ooo1234567
s/t/to/
-
spirobel[m]
ok I will give it a try.
-
ooo123ooo1234567
wow
-
-
sgp_[m]
can confirm get_tx_key does not work
-
sgp_[m]
for --do-not-relay
-
ooo123ooo1234567
hint: raw_monero_tx has tx_key inside, but wallet doesn't
-
sgp_[m]
is there a tool to get the tx_key from the raw tx?
-
moneromooo
Well, that is what the do_not_relay RPC does.
-
moneromooo
It's "gimme the result, pretend it didn't happen".
-
moneromooo
You should get the tx key in the response.
-
sgp_[m]
I understand. I'm just trying to find a convenient way to get the tx_key of a non-relayed transaction, that is all
-
sgp_[m]
without RPC
-
ooo123ooo1234567
-
ooo123ooo1234567
sgp_[m]: not yet
-
moneromooo
There is a non RPC one ?
-
moneromooo
Ah, right, a command line flag. OK, that is unfortunate then,,,
-
moneromooo
I suppose it should print it in the console then.
-
sgp_[m]
yes that would work :)
-
sgp_[m]
is there a convenient way to either 1) get the tx_key from the raw transaction, or 2) some RPC call to show the tx_key when given only the raw transaction
-
ooo123ooo1234567
not yet
-
moneromooo
Something like
paste.debian.net/hidden/e4b7d1fe though it would likely keep the tx key in memory.
-
moneromooo
The tx key is definitely not in the raw tx. That'd defeat the point.
-
moneromooo
If you get a pending_tx blob though, it should be in.
-
sgp_[m]
How could I get it from pending_tx?
-
ooo123ooo1234567
raw_monero_tx is a prefix for file which contains pending tx
-
ooo123ooo1234567
monero-project/monero #380, something like this would solve the problem for cli and rpc
-
moneromooo
That's what I wrote just above in the patch.
-
moneromooo
Didn't compile though :)
-
ooo123ooo1234567
-
ooo123ooo1234567
probably get_tx_key should support both txid and hex blob of pending txs
-
sgp_[m]
so `get_tx_key (<txid> | <raw_monero_tx blob>)` ?
-
ooo123ooo1234567
yes, but it isn't implemented
-
sgp_[m]
understood. that would indeed be nice :)
-
ooo123ooo1234567
repo.getmonero.org/monero-project/ccs-proposals/-/merge_requests/318, hopefully these charts will compensate lack of actually working code
-
sgp_[m]
-
moneromooo
No, the *secret* tx key is not present in a tx.
-
sgp_[m]
oh
-
ooo123ooo1234567
monero-project/monero #2586/files, this patch should allow store full pending tx separately
-
ooo123ooo1234567
not just raw tx blob
-
ooo123ooo1234567
s/should/could/, s/allow//, s/separately/too/
-
ooo123ooo1234567
<moneromooo> "No, the *secret* tx key is not..." <- indeed
-
spirobel[m]
how would I go about turning of easylogging completely? for my usecase I dont really need it. (logging to stdout/err is enough/ also not really necessary) I tried to comment out the stuff as recommended, but this is much harder than expected. This logging library is feature packed .
-
spirobel[m]
s/of/off/
-
ooo123ooo1234567
read code -> edit code
-
spirobel[m]
ooo123ooo1234567: I thought maybe the CEO can give me some inspiration
-
ooo123ooo1234567
spirobel[m]: just finish this part and submit a patch to relevant repo, would be helpful others too
-
ooo123ooo1234567
> <@spirobel:matrix.org> how would I go about turning off easylogging completely? for my usecase I dont really need it. (logging to stdout/err is enough/ also not really necessary) I tried to comment out the stuff as recommended, but this is much harder than expected. This logging library is feature packed .
-
ooo123ooo1234567
* just finish this part and submit a patch to relevant repo, would be helpful for others with the same problem
-
spirobel[m]
seems like this file is the only one consuming the easylogging header:
github.com/monero-project/monero/bl…/contrib/epee/include/misc_log_ex.h and then these macros are used everywhere to log, right? so maybe I can just overwrite this to be null or just log to stdout/err
-
moneromooo
EDit misc_log_ex.h and change the defines to ((void)0) or so.
-
moneromooo
In the cpp version, gut all the function bodies. Should be most of it.
-
spirobel[m]
Okay thanks for the tip! I will give it a try! I wonder why there are so many different ones ... some are more semantic like MCDEBUG and others are just related to color like MCLOG_CYAN ...
-
moneromooo
Convenience.
-
spirobel[m]
the more the better 🙂👍️ ... I also saw many files include from the el:: namespace ... so I guess I also have to keep a minimal version of easylogging around so the statements still work ...
-
ofrnxmr[m]1
ooo123ooo1234567:
-
ofrnxmr[m]1
-
Rucknium[m]
Ring member age distribution in that transaction is quite strange (see my comment in the thread). I assume it couldn't have been constructed with `wallet2` unless there is a serious bug in `wallet2` for txs with a large number of inputs.