-
MeowingCat
linking
-
MeowingCat
monero-wallet-rpc.exe
-
MeowingCat
why GNU ld is very slow for this???
-
selsta
use linux :D
-
MeowingCat
it's a MinGW issue?? :(
-
MeowingCat
i was a Linux cat in past
-
MeowingCat
now im a Windows cat
-
MeowingCat
why does monero-cpp need to build these things???
-
MeowingCat
monero-wallet-rpc.exe and more?
-
selsta
it does a full build
-
MeowingCat
but i don't need them
-
MeowingCat
compiling and linking take so long time :(
-
MeowingCat
i really don't know what is GNU ld doing rn...
-
hyc
then only build the pieces you need
-
MeowingCat
the issue
-
MeowingCat
isn't monero-cpp a library to develop something with Monero features?
-
MeowingCat
why is it building these?
-
selsta
you are doing a full build so it's also building everything
-
MeowingCat
probably i will use monerod.exe right
-
MeowingCat
butt
-
MeowingCat
i could already have that
-
selsta
make sure to read through the full readme, you need the libwallet.a
-
MeowingCat
is there pre-builds of that??
-
MeowingCat
[ 96%] Linking CXX executable ../../bin/monero-gen-trusted-multisig.exe
-
MeowingCat
make[3]: Leaving directory '/c/proje/CoinPG/monero-cpp/external/monero-project/build/debug'
-
MeowingCat
[ 96%] Built target blockchain_prune
-
MeowingCat
[ 97%] Linking CXX executable ../../bin/monero-wallet-rpc.exe
-
MeowingCat
make[3]: Leaving directory '/c/proje/CoinPG/monero-cpp/external/monero-project/build/debug'
-
MeowingCat
[ 97%] Built target gen_multisig
-
MeowingCat
make[3]: Leaving directory '/c/proje/CoinPG/monero-cpp/external/monero-project/build/debug'
-
MeowingCat
[ 97%] Built target wallet_rpc_server
-
MeowingCat
make[2]: Leaving directory '/c/proje/CoinPG/monero-cpp/external/monero-project/build/debug'
-
MeowingCat
make[1]: *** [Makefile:146: all] Error 2
-
MeowingCat
make[1]: Leaving directory '/c/proje/CoinPG/monero-cpp/external/monero-project/build/debug'
-
MeowingCat
make: *** [Makefile:84: debug-static-win64] Error 2
-
selsta
please use a paste website
-
MeowingCat
sorry i thought it is short
-
selsta
it is short because you didn't post the error :D post the full log and use e.g. paste.debian.net
-
MeowingCat
yesss doing that rn
-
MeowingCat
-
selsta
did you sure that you checkout master branch?
-
selsta
which commit exactly?
-
MeowingCat
i didn't
-
MeowingCat
i tried master branch
-
MeowingCat
there was an error
-
selsta
-
MeowingCat
i just casted a variable and fixed
-
MeowingCat
monero was building but monero-cpp not
-
MeowingCat
then i thought
-
MeowingCat
i should checkout monero-cpp/v0.7.0
-
selsta
let's continue in #monero
-
MeowingCat
it is v0.7.0 rn
-
MeowingCat
okii
-
lousiF
Height: 1382556/2632662 (52.5%) on mainnet, not mining, net hash 159.15 MH/s, v5, 12(out)+0(in) connections, uptime 0d 14h 51m 43s
-
lousiF
can somebody just mail me the full node? lol
-
selsta
lousiF: do you have an SSD? and do you run the lastest release version?
-
lousiF
yes and yes
-
lousiF
my node was from an older backup, and I don't think I pruned it right. Decided to just re-download it with --prune-blockchain
-
lousiF
running slow
-
selsta
which OS?
-
lousiF
buntu jammy now
-
selsta
ok, sounds a bit slow for an internal ssd
-
lousiF
it's the ISP
-
lousiF
or something with peers. regardless it's gonna take days lol
-
lousiF
2022-05-28 00:41:47.402 I [***.222.***.***:18180 OUT] Sync data returned a new top block candidate: 1382556 -> 2632999 [Your node is 1250443 blocks (4.8 years) behind]
-
lousiF
2022-05-28 00:41:47.402 I SYNCHRONIZATION started
-
lousiF
Received 22961838504 bytes (21.38 GB) in 4601667 packets in 15.2 hours, average 409.85 kB/s = 81.97% of the limit of 500.00 kB/s
-
lousiF
Sent 68626586 bytes (65.45 MB) in 55980 packets in 15.2 hours, average 1.22 kB/s = 0.24% of the limit of 500.00 kB/s
-
lousiF
have to cap it at 500kB/s or else no internet.
-
ofrnxmr[m]
lousiF: Why?
-
lousiF
I'm on a DSL connection on the edge of the North American continent.
-
lousiF
and if I can't just hog all the bandwidth, it's about half-ish
-
lousiF
-if
-
lousiF
just an idea/request. I'm impatient, and just mailing it would be faster than downloading the entire thing. I think lots of other people could use the same assistance.
-
ofrnxmr[m]
<lousiF> "just an idea/request. I'm..." <- Its not a peer problem if its using 80% of your 500kb/s limit.
-
ofrnxmr[m]
Can always check sync_info to see if you have a queue of blocks waiting to sync. If so, the bottleneck is the computer.
-
ofrnxmr[m]
Or you can add the flag --sync_pruned_blocks to download prepruned blocks (I imagine should speed up the sync, though I havent used it myself)
-
ofrnxmr[m]
#monero:monero.social is a better place for this
-
lousiF
I have the output here. don't want to flood
-
ofrnxmr[m]
Dm
-
lousiF
it's the ISP. it's slow as shit. lol. it is like tin cans and string out here
-
MeowingCat
what is the C++ standard of monero source???
-
UkoeHB
MeowingCat: c++14
-
MeowingCat
okii
-
MeowingCat
-
MeowingCat
im getting these errors
-
MeowingCat
g++ -std=c++14 -I.\monero\monero-project\src\ -I.\monero\monero-project\contrib\epee\include\ -I.\monero\monero-project\external\easylogging++\ -I.\monero\monero-project\external -I C:/msys64/mingw64/include -o main main.cpp .\monero\libwallet_merged.a
-
MeowingCat
my GCC command
-
jonas1423[m]
Hello, I was wondering is there a reason that the Daemon/Wallet JSON-RPC API is not managed via OpenAPI / Swaggerhub? Would bring huge advantages like versioning, or am I overseeing something? Would gladly help to set up something like this
-
moneromooo
Same reason it doesn't use any lib it doesn't currently happen to use I guess.
-
moneromooo
The more invasive changes you want to do to rewrite something, the beter arguments you have to have for why it'll improve monero.
-
moneromooo
So, first tell us how invasive this'd be, roughly. And second, what the improvements will be (this includes new drawbacks).
-
moneromooo
If it turns out to be another "rewrite so I like it better that way", it'll be "thanks, but no thanks".
-
jonas1423[m]
Well, the JSON-RPC API itself does not have to change, I only speak about the documentation / specification about the api. Basically, my proposal is to replace this page on the website:
getmonero.org/resources/developer-guides/daemon-rpc.html with a swaggerhub instance.... (full message at
libera.ems.host/_matrix/media/r0/do…31daeb0801fc60d69c98f3fb58f3f0c97bb)
-
jonas1423[m]
* Well, the JSON-RPC API itself does not have to change, I only speak about the documentation / specification about the api. Basically, my proposal is to replace this page on the website:
getmonero.org/resources/developer-guides/daemon-rpc.html with a swaggerhub instance.... (full message at
libera.ems.host/_matrix/media/r0/do…fef30c7f040dc1d6b38dc9e353f9a8f3c56)
-
jonas1423[m]
* Well, the JSON-RPC API itself does not have to change, I only speak about the documentation / specification about the api. Basically, my proposal is to replace this page on the website:
getmonero.org/resources/developer-guides/daemon-rpc.html with a swaggerhub instance.... (full message at
libera.ems.host/_matrix/media/r0/do…dfcb5138503ff7d48b04f712b7d7903845b)
-
jonas1423[m]
* Well, the JSON-RPC API itself does not have to change, I only speak about the documentation / specification about the api. Basically, my proposal is to replace this page on the website:
getmonero.org/resources/developer-guides/daemon-rpc.html with a swaggerhub instance.... (full message at
libera.ems.host/_matrix/media/r0/do…2a6fc3138f320bbfcef8e5cb77c6ee8ea70)
-
jonas1423[m]
* Well, the JSON-RPC API itself does not have to change, I only speak about the documentation / specification about the api. Basically, my proposal is to replace this page on the website:
getmonero.org/resources/developer-guides/daemon-rpc.html with a swaggerhub instance.... (full message at
libera.ems.host/_matrix/media/r0/do…8a58d30426920b3428f9ccfcad896e6cc3c)
-
jonas1423[m]
* Well, the JSON-RPC API itself does not have to change, I only speak about the documentation / specification about the api. Basically, my proposal is to replace this page on the website:
getmonero.org/resources/developer-guides/daemon-rpc.html with a swaggerhub instance.... (full message at
libera.ems.host/_matrix/media/r0/do…6ad41bf89ebe5e3448a8317745bfb35cb33)
-
jonas1423[m]
Example can be seen here how something might look like:
petstore.swagger.io
-
jonas1423[m]
s/something/this/
-
jonas1423[m]
s/something/this/, s/petstore/editor/
-
merope
Note that past major versions of Monero are not compatible with the current network - so when a major version is rolled out, any breaking changes in the rpc api would be "mandatory" too, and the old version would be lost anyway
-
merope
(Unless the majority of the network rejected the update, for whatever reason)
-
jonas1423[m]
That is true, but it would still be nice to have this information anyway, you never know when you might use it
-
jonas1423[m]
* Well, the JSON-RPC API itself does not have to change, I only speak about the documentation / specification about the api. Basically, my proposal is to replace this page on the website:
getmonero.org/resources/developer-guides/daemon-rpc.html with a swaggerhub instance.... (full message at
libera.ems.host/_matrix/media/r0/do…b421b517e01bf6a214cb9925713b45ea8b4)
-
jeffro256[m]
Would anyone be willing to look at
monero-project/supercop #9 ? It's a super quick warning fix
-
moneromooo
Can you please avoid spamming the same over and over ? That's what matrix does when you edit a line.
-
moneromooo
Also, your comments ends up cut off, and links to a site to see it.
-
jeffro256[m]
Me ?
-
moneromooo
No, jonas1423[m]
-
moneromooo
More documentation is always good.
-
» moneromooo spins up vm to go read that link
-
moneromooo
jonas1423[m]: what is a swaggerhub instance ? It smells like needing some third party.
-
moneromooo
I mean, we all need third parties. Like GCC. But this looks like a third party which, if it goes, takes our stuff with it. Correct me if I'm wrong, it just reads like it (I never heard of "swaggerhub" before).
-
moneromooo
The RPC documentation has always lagged and often been incomplete. Fixing this would be nice, but does swaggerhub make it easier to update somehow ? If so, how ?
-
moneromooo
And I don't mean some automated process that sees I added "uint32_t x; KV_SERIALIZE(X);" and writes "x: 32 bit integer" in the doc, that's useless.
-
moneromooo
About code generation, do you mean auto generating bindings, like what's in utils/python-rpc/framework, without having to do it manually ? That'd be useful.
-
moneromooo
Does versioning mean "bumping a version number" or "keeping historical RPC versions" ? If that former, we already have that. If the latter, surely it cannot be automatic since the behaviour of the code that handles the RPC changes. What does it do to help here ?
-
jeffro256[m]
> About code generation, do you mean auto generating bindings, like what's in utils/python-rpc/framework, without having to do it manually ? That'd be useful.
-
jeffro256[m]
Yeah, I've never seen it before, but it looks like if you describe the JSON RPC interface it will automatically generate a client API for a bunch of different languages
-
jonas1423[m]
<moneromooo> "Can you please avoid spamming..." <- Sorry not used to matrix/element,... (full message at
libera.ems.host/_matrix/media/r0/do…ac6e4ecc5c5b020c3999c4fa30b1fa11690)
-
spirobel[m]
I think something like this would be very good. Maybe there is something like swagger that works well with cpp. the documentation of the wallet rpc is badly out of sync with the code. For example the signing with subaddresses is not mentioned in the docs, but it is actually possible:
old.reddit.com/r/Monero/comments/uv…problems_in_web3/i9ryrql/?context=3
-
jonas1423[m]
spirobel[m]: Yes, thats exactly why something like a swagger-editor would be nice, the documentation on there would be the the single source of truth / the contract, if you change something there, you generate code that automatically (almost completely) adhere to that contract
-
spirobel[m]
jonas1423[m]: so the question to figure out: can we make swagger work with cpp? is there a plugin. And if that is not the case: is there an alternative that is similar to swagger that works with cpp.
-
spirobel[m]
s/./?/
-
jonas1423[m]
spirobel[m]: You can try it out on this site
editor.swagger.io under Generate Client / Server -> cpprest and look at the generate models. I cannot tell you if that generated code is usable because I am not a cpp developer, but at least it is supported.
-
moneromooo
So... if still requires someone to write the doc. Just in some web browser instead of another editor.
-
moneromooo
Keeping old RPC versions could be interesting from time to time, but usually isn't. Most RPC stay backward compatible.
-
moneromooo
The code generation thing seems to be the one advantage I think.
-
spirobel[m]
moneromooo: as I understand it swagger is written as a comment with @swagger in the source code. So the source code and the comment right next to it is the single source of truth. From that the docs website is derived ( where you can autogenerate the api consumers etc)
-
moneromooo
Oh, like doxygen (which usually results in placating boilerplate) ?
-
moneromooo
I mean, if the issue is people (well, mainly me) not documenting things, adding this won't fix it, will it.
-
spirobel[m]
moneromooo: I dont know if I would call this placating boilerplate. It is helpful to have a way to automatically generate api consumers.
-
jonas1423[m]
moneromooo: I have used doxygen like one or two times but I think that are completely different things
-
spirobel[m]
moneromooo: I mean it is just adding a comment above every api endpoint to state what variables it expects and what they mean. I dont think that is too much to ask.
-
jonas1423[m]
It's not documentation it's specification, you write the api, generate code (the models, the single source of truth) and write your consumption / providing of this API
-
moneromooo
spirobel[m]: it is irrelevant.
-
moneromooo
This tool relies on the doc being written already, if I read the above correctly.
-
moneromooo
The doc is not written currently. Therefore adding the tool will not help.
-
jonas1423[m]
moneromooo: yes
-
moneromooo
If you're going to say "if we add the tool, people will suddently start writing documentation", then... maybe, but why do they not without the tool ?
-
spirobel[m]
jonas1423[m]: I think you can go about it multiple ways, right? you can write the server code and add the comments there and then client code and specification of the website is generated from that. Or you write the specification in yaml and then generate client and server code from that. In our case server code is already written. So just adding the comments is probably the right approach. Just a guess.
-
moneromooo
Anyway, this is my opinion so far. If others want this, it'll go in.
-
jonas1423[m]
spirobel[m]: I have only seen it in the one direction (spec -> server/client) and not the other way around, but if it works sure
-
HenryHollingwort
I have used open api before to generate typesafe clients for a http service - it is very useful. However, IMO there should be a seperate project which maintains the open api definition, and perhaps generates clients for various languages as part of a ci action...
-
spirobel[m]
do you guys think there is maybe a slow way to move into this? maybe just add one of these comments for one api endpoint and see if it works? It does not need to be done all at once. Even one comment is a step forward.
-
jonas1423[m]
moneromooo: If we go this further down this road, we are closing the doors for new developers that want to consume the daemon/wallet api and build monero applications, that is the real reason I am proposing this here. For example if someone wants to create a new Wallet-GUI on top of the daemon-rpc
-
HenryHollingwort
at the moment in c# i have a very basic program which reads the rpc header files from github and generates the models - but i've seen projects which parse C++ code into an AST which you can then run a script over to grab the models, that way it's always in sync with the codebase
-
HenryHollingwort
but instead of emitting c# code (which i have it do atm) you can generate the api definition
-
jonas1423[m]
-
spirobel[m]
> <@jonas1423:matrix.org> What we could try is the following:... (full message at
libera.ems.host/_matrix/media/r0/do…a1165a4905b0be2f1fa0761ce1fb06b1b5b)
-
jonas1423[m]
spirobel[m]: I can try to transfer the code to the api-specification
-
jonas1423[m]
I am not a cpp developer but I am bored and want to try :D
-
spirobel[m]
jonas1423[m]: but can you continously do that? because the code will change so your api-spec will be out of sync at some point. you dont need to be a cpp dev. You just need to add some comments to the code if you want to try this.
-
HenryHollingwort
-
HenryHollingwort
-
HenryHollingwort
the monero source code for RPC is so well structured even primitive regex approach (like used here) can get the models out okay, something like (
github.com/xoofx/CppAst.NET) would be more robust - from there just need to adapt to emit open api sepc
-
jonas1423[m]
That's the problem, I can set it up initially, but then every time a dev adds a new piece of code to the public API, he should additionally add the open-api comments for that. OR we change the source of truth from code to spec at some point. What I want in the end is that everyone can build up new monero applications on top of the wallet/daemon rpcs easily
-
spirobel[m]
jonas1423[m]: I dont think the source of truth can change from code to spec. Probably best to add comments. or do the parsing thing by Henry Hollingworth
-
jonas1423[m]
Yea, also writing the openapi-comments to public-api can be enforced by pipelines. As I said no matter the approach (source of truth code or openapi-spec) I can help set it up initially, as long as we have a feasible, correct documentation in the end. I will go off for a few hours, let me know if I can help with anything
-
HenryHollingwort
Putting effort into making open api spec makes a lot more sense than everyone duplicating that effort to make a wrapper in each language which can easily fall out of sync etc.. vs write once and generate the really good tooling around it
-
moneromooo
jeffro256[m]: that s/64/85/ thing looks really odd. Why do you need this, if the extra isn't used ?
-
moneromooo
(it's not immediately obvious why after looking at the code)
-
moneromooo
I assume sc25519_window4 can use more in some cases, but never when called from that ?
-
moneromooo
(it doens't AFAICT, I just looked)
-
chesterfield[m]
> <@jonas1423:matrix.org> Well, the JSON-RPC API itself does not have to change, I only speak about the documentation / specification about the api. Basically, my proposal is to replace this page on the website:
getmonero.org/resources/developer-guides/daemon-rpc.html with a swaggerhub instance.... (full message at
libera.ems.host/_matrix/media/r0/do…3a26a1e21abd7bb0877f831ed1fffaf6536)
-
jeffro256[m]
> jeffro256: that s/64/85/ thing looks really odd. Why do you need this, if the extra isn't used ?
-
jeffro256[m]
Because GCC is strict about buffer overflows and will generate a warning message if size of a passed array isn't actually the full size as the array parameter.
-
moneromooo
I do not see why this applies here. The function takes 64, it's passed 64.
-
moneromooo
You're talking about b, presumably?
-
jeffro256[m]
Yes, the applicable definition is in crypto_sign/ed25519/amd64-64-24k/sc25519.h line 59
-
jeffro256[m]
I think the amd64-51-30k version only takes 64, but amd64.c.inc should just use the one that is greater
-
moneromooo
Oh. I see.
-
moneromooo
I looked that C file, which has 64 (and doens't seem to use above that).
-
moneromooo
I assume there's some cpp cleverness to redirect to another function that actually uses 85 ?
-
jeffro256[m]
So should the definition be changed?
-
moneromooo
Well, I assume something uses up to 85 now that you pointed it out.
-
moneromooo
I just don't see what, but I don't really want to go through the cpp rabbit hole :D
-
moneromooo
At first glance, the prototype just looks wrong. But it's more probable I'm wrong.
-
moneromooo
git doens't even help, it's been 85 forever :/
-
moneromooo
There's a window3 which takes 85. Looks like possibly a copy/paste error.
-
moneromooo
So I think it's a mistake in the prototype. Your chance to get a patch in supercop maybe :D
-
jeffro256[m]
No yeah you're right, the definition only uses 64 and the author who used the function expected that it takes 64, so the odd one out is the prototype
-
jeffro256[m]
That's true of both bodies of sc25519_window4
-
moneromooo
Assuming no cpp malarkey I saw this and that made me think it might redirect to others: #define sc25519_window4 CRYPTO_NAMESPACE(batch_sc25519_window4)
-
moneromooo
If you found all and they're all 64 (which seems likely), then just fix 85.
-
jeffro256[m]
I think they did that so that the symbols of the functions don't conflict
-
jeffro256[m]
Like the calling code looks the same but it's a different symbol underneath, which is pretty clever
-
jeffro256[m]
I think that's basically how C++ namespaces work under the hood lol
-
moneromooo
(and it'd be nice if you could also PR upstream, also gets confirmation it's something more subtle/clever)
-
jeffro256[m]
True, does SUPERCOP have a public git repo ?
-
moneromooo
I assume so, since we got it. Maybe ddg one of the commit hashes.
-
» moneromooo afk for a bit
-
edoca[m]
Hello, Monero Dev community.
-
edoca[m]
I’m new here and I really want to contribute to Monero.
-
edoca[m]
What a college student currently studying JS/React/Node can do to contribute to Monero?
-
edoca[m]
Should I pursue C++ instead?
-
moneromooo
Hi.
-
moneromooo
If by "pursue" you mean "get a course about", then that's up to you really. I *assume* your college is not led by morons, and that "JS/React/Node" is a tool for implementing stuff, rather than learning just those by rote.
-
moneromooo
If it's the former, you'll get the ideas and principles just fine, and getting C++ on top is just another layer you can add later.
-
moneromooo
If it's the latter, then you should probably change college.
-
moneromooo
Javascript is close enough to C++ (AFAIK) that if your teachers are more about the concepts rather than syntax, stuff will carry over well enough.
-
sech1
"close enough" only syntax wise
-
moneromooo
In any case, you likely won't be able to contribute meaningfully in the short term anyway, whether you switch or not.
-
moneromooo
OK, the idea of Javascript I have is from like 20 years ago :D
-
moneromooo
And it was really pretty similar.
-
moneromooo
Just a shitter version that runs in a browser.
-
moneromooo
OK. maybe not 20...
-
moneromooo
The reason I mention that is that I've seen people being taught "MS word" and not getting any of the concepts, just a rote "click here if you want to make text larger" and having no clue what to even do when using another word processor (can't recall which).
-
moneromooo
If you're learning the concepts, it's all good.
-
sech1
one of the big differences is that c++ is a strongly typed language whereas JS is weakly typed
-
edoca[m]
I understand I’m too green to have an impact. But I want to start this long journey
-
moneromooo
Then again, you could also look at Haveno, a monero related project that uses JS.
-
moneromooo
Maybe you can help a bit earlier.
-
edoca[m]
moneromooo: Could you point out where to start from?
-
sech1
plus C++ compiles to native code and has access to underlying hardware, and Javascript is interpreted and has things like 'eval'. So language conceptions are quite differents.
-
moneromooo
For monero ? I usually tell people to use it, then find some small thing that's broken or unwieldy, and focus on fixing just that part.
-
moneromooo
That's small enough, gives you an attainable goal, and you get to learn what's where.
-
edoca[m]
moneromooo: For Haveno
-
moneromooo
Ah, then join #haveno-dev and ask. I never tried to even build it.
-
ErCiccione
The user interface is here:
github.com/haveno-dex/haveno-ui. The matrix room for development-related discussions is at #haveno-dev:haveno.network 🙂
-
ErCiccione
edo.ca ^
-
ErCiccione
the user interface is in javascript, the core in Java, but we are also building a library in typescript:
github/haveno-dex/haveno-ts
-
ErCiccione
any help would be greatly appreciated 🙂
-
edoca[m]
ErCiccione: Are you currently working in the Haveno project?
-
ErCiccione
edo.ca: yes, i am part of the core team
-
edoca[m]
Thank you guys for all the answers. Since Haveno uses JS, I might be more useful to that project.
-
edoca[m]
I’ll join Haveno room and keep in touch with ErCiccione, but I still keep my eyes in this room too
-
MeowingCat
ninja: error: '../external/monero-project/build/release/src/crypto/wallet/libwallet-crypto.a', needed by 'libmonero-cpp.dll', missing and no known rule to make it
-
moneromooo
Your makefile... or... ninjafile or whatever... seems borked. You get to fix it :)
-
moneromooo
Anyway, not a monero bug AFAICT. These files aren't monero's.
-
moneromooo
(except libwallet-crypto.a)
-
MeowingCat
i didn't change them
-
MeowingCat
just got from Github
-
moneromooo
Ah, if it's someone else's project, ask them. libmonero-cpp.dll isn't monero. Unless something got added when I wasn't looking ?
-
MeowingCat
ummmm
-
MeowingCat
it is monero-cpp
-
moneromooo
And we don't use ninja either.
-
MeowingCat
-
MeowingCat
i don't like Ninja, CMake and others
-
MeowingCat
just love GNU Make
-
MeowingCat
and using relative include paths
-
moneromooo
Well, check who wrote this. Maybe they're here, maybe not.
-
MeowingCat
relativeeeeeeeeeeeeeeeeee
-
MeowingCat
:(
-
MeowingCat
sorry buttt
-
MeowingCat
this thing made me crazy
-
MeowingCat
because i don't understand people
-
moneromooo
Best is to file a bug in their repo, after searching issues to see wheter it's already reported.
-
MeowingCat
people are crazy for include paths
-
MeowingCat
a/b/c/meow.h butttt sometimes -I a/b/c and #include "meow.h" sometimes -I a/b and #include "c/meow.h"
-
MeowingCat
i understand why someone are making frameworks and shits when i see these
-
moneromooo
That will not cause your problem above.
-
MeowingCat
i really don't understand %90 of native softwares are not buildable
-
MeowingCat
sometimes defining some preprocessor things in build scripts and pass to compiler and more more more
-
MeowingCat
im about to crazy
-
MeowingCat
Monero source is not portable :(
-
MeowingCat
because of these reasons
-
moneromooo
OK, you're being very useful, thank you. We will give your feedback the attention it deserves.
-
MeowingCat
looooks like this monero-cpp thing is used by monoero-java and monero-javascript bindings
-
moneromooo
Ah, that might be woodser then.
-
MeowingCat
the issue
-
moneromooo
I assume you read the README or BUILDING files (or similar) ?
-
MeowingCat
i need Windows, Linux, Android, iOS builds
-
MeowingCat
im doing that what the README.md says
-
moneromooo
Well, good luck. Build systems tend to be a massive pita.
-
MeowingCat
tried everything
-
moneromooo
That's why people make more. They love adding more pita.
-
MeowingCat
:(
-
MeowingCat
Godot's build system is very complicated too but it is used to be very cross-platform
-
MeowingCat
it is tested on everywhere
-
moneromooo
"very complicated" <- you see ? pita
-
MeowingCat
but i think nobody used monero-cpp before
-
MeowingCat
except monero-java and monero-javascript
-
moneromooo
Anyway, either go to the issues page of that project, or ask the ninja people if you want to fix it yourself.
-
moneromooo
(I recommend the former)
-
moneromooo
Oh, one thing.
-
MeowingCat
as i understand
-
moneromooo
A shot in the dark, but: I see ".dll". Windows has always been a fucking annoying different pita.
-
MeowingCat
libwallet-crypto.a is a part of Monero's building
-
MeowingCat
yesss im building it on MSYS2
-
moneromooo
One common issue is if you have a space (or other "uncommon" character) in a directory leading to that. If you do, try fixing that first.
-
MeowingCat
im making a wallet app with Godot Engine
-
MeowingCat
i wrote ETH and BTC parts in C#
-
MeowingCat
i will use C++ for Monero part
-
moneromooo
Nice. I made one with the urho3d engine :D
-
MeowingCat
oh what is that
-
» moneromooo tends to like niche stuff
-
moneromooo
It's another game engine.
-
MeowingCat
looooking rn
-
MeowingCat
its editor loooks good
-
MeowingCat
UrhoSharp.....
-
MeowingCat
is that .Net 6?
-
moneromooo
It's some port for... forget the name... Miguel de Icaza's .net compat thing for linux. It's unmaintained AFAIK.
-
MeowingCat
interesting
-
MeowingCat
Godot devs are working on .Net 6 for Godot 4
-
moneromooo
And even if it were, it should not be used. I suspect it's a now dead trojan horse for MS to fuck with linux again.
-
MeowingCat
Unity is stucked in .Net Framework 4.7 shit
-
MeowingCat
Godot's cross-platform abilities are great
-
MeowingCat
its UI system is good too
-
MeowingCat
Godot editor is a Godot game
-
MeowingCat
is there a built .dll of monero-cpp?
-
moneromooo
Who knows. Maybe look on the project's github releases page.
-
MeowingCat
there is a big code but can't build lol
-
MeowingCat
ohhh my question
-
MeowingCat
isn't libwallet-crypto.a a part of Monero?
-
moneromooo
It is.
-
MeowingCat
i think it is
-
MeowingCat
monero-cpp is using Monero
-
MeowingCat
building it
-
moneromooo
Good choice.
-
MeowingCat
and linking statically its things
-
MeowingCat
butttt why not creating a libwallet-crypto.a?
-
spirobel[m]
maybe just build it on linux
-
spirobel[m]
or install wsl
-
MeowingCat
buttt i need Windows build
-
selsta
MeowingCat: can you try building release-v0.17 branch?
-
MeowingCat
Windows, Android and iOS
-
selsta
in the monero submodule
-
moneromooo
Dunno. Maybe you should check the project's github page.
-
woodser[m]
@MeowingCat monero-cpp's makefile currently assumes a *nix environment. it's an open issue to support Windows, which means expecting *.dll instead of *.a build artifacts:
monero-ecosystem/monero-cpp #10
-
MeowingCat
selsta, 0.17 of external/monero-project?
-
MeowingCat
tryinggg
-
spirobel[m]
MeowingCat: maybe there is a way to cross compile it
-
woodser[m]
if you're able to, I'd first confirm the build process in linux since you're targeting that platform too, and I'd like to support Windows with the necessary modifications to CMakeLists.txt
-
MeowingCat
i just took a look for cross-compiling
-
MeowingCat
buttt build scripts are designed for building Windows binaries on MSYS2
-
MeowingCat
how could i cross-compile it??
-
MeowingCat
i tried linking statically libwallet.a thing
-
MeowingCat
buttt epee lib is giving errors
-
MeowingCat
i have no idea
-
MeowingCat
what is libwallet.a?
-
MeowingCat
and libwallet_merged.a?
-
MeowingCat
g++ -std=c++14 -I.\monero\monero-project\src\ -I.\monero\monero-project\contrib\epee\include\ -I.\monero\monero-project\external\easylogging++\ -I.\monero\monero-project\external -I C:/msys64/mingw64/include -o main main.cpp .\monero\libwallet_merged.a;
-
MeowingCat
i tried this
-
moneromooo
These are monero libs as well.
-
MeowingCat
buttt epee library has errors
-
moneromooo
Ah, that one might be our problem :)
-
MeowingCat
when i build Monero i got libwallet.a and libwallet_merged.a
-
woodser[m]
those are static libraries built in monero-project which monero-cpp links to
-
MeowingCat
i have them
-
MeowingCat
but can't link
-
MeowingCat
epee library has source in headers
-
MeowingCat
-
MeowingCat
these errors
-
MeowingCat
it can be build with Monero's build scripts
-
MeowingCat
must be a way
-
MeowingCat
i have no idea
-
MeowingCat
there are tons of thirdparty things, build systems and more and more :(
-
MeowingCat
:(((((((((((((((
-
woodser[m]
it should be built against the release-v0.17 branch if you aren't already
-
MeowingCat
i hoooope
-
MeowingCat
im gonna try
-
MeowingCat
building this ruins my CPU
-
MeowingCat
how can i clean build things?
-
MeowingCat
removing build directories
-
MeowingCat
monero-cpp/build and monero-project/build
-
MeowingCat
is there another thing i should remove?
-
woodser[m]
that should be it
-
MeowingCat
looooks like
-
MeowingCat
some submodule targets
-
MeowingCat
are not existed in repo
-
MeowingCat
or there is something else wrong
-
MeowingCat
i did checkout to v0.17
-
woodser[m]
you did `git submodule update --init --force` ?
-
MeowingCat
yes that's the one who giving errors :(
-
selsta
post the error
-
MeowingCat
fatal: uzak konum hatası: upload-pack: not our ref 4c700e09526a7d546394e85628c57e9490feefa0
-
MeowingCat
fatal: 'external/miniupnp' altmodül yolunda getirme yapıldı; ancak 4c700e09526a7d546394e85628c57e9490feefa0 içermiyor. Bu işlemenin doğrudan getirilmesi başarısız oldu.
-
woodser[m]
you ran this in the monero-project submodule, right? first thing is to get monero-project building before monero-cpp
-
MeowingCat
yes
-
selsta
git submodule sync
-
MeowingCat
ohh
-
MeowingCat
okiii
-
MeowingCat
doing "make release-static-win64"
-
MeowingCat
my CPU is gonna cry now
-
MeowingCat
error :(
-
MeowingCat
-
MeowingCat
woodser[m], selsta
-
MeowingCat
can youuu looook???
-
selsta
so previously you tried master and now release-0.17?
-
MeowingCat
yes
-
MeowingCat
idk if it was master
-
MeowingCat
i tried master of monero-cpp
-
MeowingCat
idk what is monero-project's submodule revision of monero-cpp/master
-
woodser[m]
it's the release-v0.17 branch
-
MeowingCat
Dalınız 'origin/release-v0.17' ile güncel.
-
MeowingCat
im on release-v0.17
-
woodser[m]
getting monero-project to build is the first step. that's completely separate from monero-cpp. I don't know what the cause of the errors are from your log, for example: keyvalue_serialization_overloads.h:388:193: error: incomplete type
-
MeowingCat
okiii trying
-
masflam[m]1
hey, should i be unable to fork repos on repo.getmonero.org? right now the button is disabled and when i hover over it, it says i have reached maximum amount of projects, even though i don't have any
-
moneromooo
Gimme your login there, I'll fix it.
-
MeowingCat
it is built
-
MeowingCat
buttt
-
moneromooo
It's the defalt when you register from github, and I've not found how to change that default.
-
MeowingCat
build directory is different
-
MeowingCat
there is a MINGW64_NT-10.0-22000/release-v0.17/release
-
MeowingCat
how should i build monero-cpp with this?
-
masflam[m]1
moneromooo: yeah i used github's sso
-
masflam[m]1
i'm MasFlam on there too
-
MeowingCat
damn DLL is not there again
-
MeowingCat
i feel like i should implement Monero myself
-
MeowingCat
i need HD wallet things
-
MeowingCat
address generation things, building and signing TXs
-
MeowingCat
and i will broadcast
-
moneromooo
masflam[m]1: fixed
-
MeowingCat
we need a pure C++ library
-
MeowingCat
without millions of dependencies
-
MeowingCat
damn C++ things
-
masflam[m]1
moneromooo: thanks a lot :)
-
MeowingCat
everywhere is warning
-
MeowingCat
C++14, C++17, C++XX, C++XXXXXXXXXX
-
MeowingCat
more and more bloated
-
MeowingCat
C++ should not be existed
-
MeowingCat
build systems tooo
-
MeowingCat
:(
-
MeowingCat
package systems tooo
-
MeowingCat
C with relative include paths and GNU Make is enough
-
MeowingCat
and Monero must have a C library instead of C++ because it is a basic thing
-
MeowingCat
that's why very basic things have C interfaces
-
MeowingCat
like OpenGL
-
selsta
wait, try the following
-
moneromooo
True. Could even unify it all with ioctl. Much simpler.
-
MeowingCat
lol
-
moneromooo
In UNIX, everything's a file. So we could make it so much simpler by replacing everything with ioctl.
-
moneromooo
Damn. You saw the sarcasm already. I must try harder.
-
moneromooo
:P
-
MeowingCat
GNU libc is abstracted
-
MeowingCat
for many things
-
selsta
-
selsta
try to revert this in master branch
-
selsta
meaning add these lines again
-
MeowingCat
this loooks merged
-
selsta
yes, revert it
-
MeowingCat
don't i already have this?
-
moneromooo
"revert" means "undo".
-
moneromooo
ie, git revert CMMITHASH.
-
MeowingCat
ohh this changed again?
-
moneromooo
(then you can reset --hard HEAD^ later)
-
MeowingCat
since merged?
-
MeowingCat
okiii
-
MeowingCat
now i have release-v0.17 branch as built
-
selsta
this is only relevant for master
-
MeowingCat
but its build/ directory is different
-
MeowingCat
isn't there a windows DLL or a static object in this build?
-
MeowingCat
that i could use
-
MeowingCat
what are libwallet.a and libwallet_merged.a?
-
MeowingCat
i have them
-
MeowingCat
but Monero source is not designed to be portable
-
MeowingCat
or there are something else
-
MeowingCat
when i try to link libwallet.a statically i just get epee library errors
-
MeowingCat
i don't have an idea really
-
MeowingCat
if it has errors
-
selsta
because you also have to link against epee as far as i know
-
MeowingCat
how could it be compiling in Monero repo????
-
MeowingCat
im passing -std=C++14
-
selsta
-
MeowingCat
i need non-dependent types for header
-
MeowingCat
somehow
-
MeowingCat
to use libwallet.a
-
MeowingCat
but it has classes, structs and things from everywhere
-
MeowingCat
like other parts of source or booooost
-
selsta
this is what the gui is doing, it just links again wallet_api and everything works
-
MeowingCat
or another thing
-
MeowingCat
i could just use CLI executable
-
MeowingCat
butttt iOS doesn't allow that
-
selsta
you can try to look at the cakewallet source code, they build for iOS and Android
-
selsta
they use libwallet directly, not monero-cpp
-
MeowingCat
im feeling like shit
-
masflam[m]1
hmm, and now i can't clone over ssh even though i added the key
-
MeowingCat
it looks like implemented in pure JS right?
-
selsta
masflam[m]1: ssh cloning doesn't work
-
MeowingCat
im thinking about implementing Monero in GDScript
-
selsta
some cloudflare limitation?
-
MeowingCat
it is very abstracted
-
MeowingCat
just one click and export everywhere
-
MeowingCat
and lightweight
-
masflam[m]1
so i should just use https and auth with login+pass
-
selsta
yes
-
MeowingCat
Cake Wallet thing loooks good
-
MeowingCat
i think it is implementing everything in JS
-
moneromooo
Yes, ssh via cloudflare doesn't work, IIRC it needs running some cloudflare proxy on the server, and I don't want to touch cloudflare stuff.
-
MeowingCat
i need to know Monero's math
-
masflam[m]1
success, again thanks
-
MeowingCat
something like elliptic curve shit
-
MeowingCat
is there a clean doc about this?
-
MeowingCat
address generation
-
MeowingCat
TX structure
-
MeowingCat
and signing
-
masflam[m]1
zero to monero is best i know
-
MeowingCat
loooking
-
MeowingCat
-
MeowingCat
oh too long
-
MeowingCat
i don't like long docs
-
MeowingCat
i believe computer science is simpler
-
MeowingCat
less text is more explaination
-
MeowingCat
maybe im about to go crazy
-
masflam[m]1
you can't explain the entire cryptography behind monero's privacy tech on one page
-
moneromooo
I'd suggest you take refuge in the C spec, but it's a huge doc...
-
MeowingCat
after alllll im not a elliptic curve cat
-
MeowingCat
inventing all of these sounds easier to me
-
MeowingCat
i know it is not exactly
-
MeowingCat
but i mean
-
MeowingCat
approaching specific things from outside
-
MeowingCat
is always harder than approaching from zero for me
-
MeowingCat
maybe i have to drink more cola
-
MeowingCat
this thing must be applying something scalar parts of things continuously
-
MeowingCat
and something like that
-
MeowingCat
but what exactly
-
MeowingCat
and white background docs are making me crazy
-
moneromooo
I especially hate those when text is also white.
-
MeowingCat
ohh
-
moneromooo
(actually true, some websites do that (well, not quite white, but light grey))
-
MeowingCat
white background doesn't motivate me
-
MeowingCat
why don't you have a .Net thing?
-
MeowingCat
it would be very nice
-
moneromooo
You know who made that, right ?
-
MeowingCat
made what?
-
moneromooo
.net
-
MeowingCat
ohhh
-
MeowingCat
right
-
MeowingCat
butt Godot has .Net Framework 4.7 shit
-
MeowingCat
and it is cross-platform except C# tasks
-
MeowingCat
damn tasks are threads
-
MeowingCat
they are not supported on WebAssembly
-
MeowingCat
i never like .Net
-
MeowingCat
i heard about .Net tasks are supported on WebAssembly in .Net 6
-
MeowingCat
for Godot/Mono there are some good things
-
MeowingCat
Godot has so much things like HTTP client API
-
MeowingCat
.Net Framework 4.7 shits don't support WebAssembly butt you can use Godot's API
-
MeowingCat
they are cross-platform
-
MeowingCat
just using XmlHttpRequest thing on WASM
-
MeowingCat
i have to calculate things
-
MeowingCat
what is the best way
-
MeowingCat
understanding damn cryptographic things and implementing them all
-
MeowingCat
or making monero-cpp to work on Windows, Android and iOS somehow
-
MeowingCat
or using static objects of Monero somehow
-
MeowingCat
damn elliptic curve
-
MeowingCat
i have to find the shortest way
-
MeowingCat
but i will master that damn thing in future
-
selsta
figuring the build system issues out will be significantly easier obviously
-
MeowingCat
im curious about that
-
selsta
implementing a wallet + cryptography is a huge task
-
MeowingCat
because my strongest argument is approaching things from zero is always more clean and pure buttt of course it just could be built somehow in a very short time
-
MeowingCat
but how
-
MeowingCat
is the dev of monero-cpp here??
-
MeowingCat
y^{2}\ =\ x^{3}+ax+b
-
MeowingCat
elliptic shit
-
MeowingCat
y^2 = x^3 + 7 secp256k1 shit
-
MeowingCat
oh damnn
-
MeowingCat
Monero is using ed25519
-
MeowingCat
GDScript's int is 64 bit
-
MeowingCat
i still need to write Monero part in C++ or maybe C# too
-
MeowingCat
or writing a big integer implementation for GDScript
-
endogenic
MeowingCat: you could just use my library
-
endogenic
monero-core-custom and monero-core-cpp
-
endogenic
the entire point is to make monero embeddable
-
MeowingCat
oh looking
-
endogenic
cant get away from stripping deps and factoring it how i did
-
endogenic
it's not like it was a product of my imagination ;p
-
endogenic
MeowingCat: ok well the version i released under mymonero got badly modified IMO
-
MeowingCat
starred the repo
-
endogenic
i'm about to publish a version i've been maintaining for 2 yrs in private
-
MeowingCat
<3
-
MeowingCat
can this thing be compiled on Windows?
-
MeowingCat
for Windows, Android and iOS targets :(
-
endogenic
yep
-
MeowingCat
yayy
-
MeowingCat
looking
-
endogenic
:)
-
endogenic
my version also keeps up-to-date with mainline