Questions tagged [source]
Questions about Monero source code and the process of building from source
49
questions
4
votes
1
answer
392
views
Where is the original CryptoNote Java implementation?
Supposedly CryptoNote was first implemented in Java and soon after migrated to C++.
Where can I get the original Java implementation?
I don't see it on GitHub and I can't get access to the ...
2
votes
1
answer
120
views
How does the code for scalar reduction work?
In this piece of code:
https://github.com/monero-project/monero/blob/master/src/crypto/crypto_ops_builder/ref10CommentedCombined/sc_reduce.c#L35
We reduce a scalar by mod l.
what is the ...
1
vote
1
answer
221
views
What is src/blocks/checkpoints.dat and why is it not plaintext in the source code?
What is src/blocks/checkpoints.dat and why is it not plaintext in the source code?
In the source code src/blocks for Lithium Luna I see checkpoints.dat but it is not plaintext. I was under the ...
0
votes
1
answer
26
views
How does the block version get set
I noticed that the BLOCK_MAJOR_VERSION is still set to 1 in the cryptonote_config.h. So how is the block version getting updated to 14?
1
vote
1
answer
98
views
Are hex private keys already in little endian format?
I implemented my own private (seed) spend and view key generator for learning purposes but I still don't fully understand. I ended up with a working implementation but I feel that I'm just swapping ...
1
vote
1
answer
29
views
What's inside the file hashes.txt.sig?
I studied the monero-gui code and in the file monero-gui/src/qt/updater.cpp I found two addresses to verify binaries:
https://web.getmonero.org/downloads/hashes.txt
https://web.getmonero.org/...
2
votes
1
answer
205
views
What does ">>" in the get_block_reward do?
I'm creating my own fork of Monero and I was looking at the block reward function and I found this line in the file "src/cryptonote_basic/cryptonote_basic_impl.cpp"
uint64_t base_reward = (...
2
votes
1
answer
771
views
How to understand Monero source code?
I am not a professional in C++ but I have good experience in it and can google my way if i have problems. I also have basic knowledge of the GNU Build System and technicians of Cryptocurrencies (From ...
1
vote
1
answer
212
views
Problem building release-v0.16
I can build release-v0.15 perfectly.
However, when I change to branch v0.16 and try to build it, it failed every time.
Can anyone give me some advice to solve it? Thanks!
[ 36%] Building CXX object ...
2
votes
1
answer
44
views
Why is the function open_tx executed twice for each transfer command?
I built a private testnet with reference to this guide.
In order to understand how the secret transaction key is generated, I examined how many times the open_tx function (in device_default.cpp) was ...
4
votes
1
answer
100
views
Problem with compile part of monero sources to create python bindings
I want to create python module with C++ bindings of monero functions:
parse_and_validate_block_from_blob
get_block_hashing_blob
rx_slow_hash
and more...
I'm using ubuntu 18.04.
For the simplicity ...
5
votes
2
answers
456
views
Why is sc_reduce32 needed?
I recently read a question about sc_reduce32 I stumbled on while investigating on Monero's Mnemonic Seed working. A great tool has been llcoins which states the following when talking about ...
0
votes
1
answer
156
views
Is there a tutorial how to compile my own monero cli wallet software from source?
Is there an easy to follow guide on how to compile my own monero cli wallet from source code? I want to modify some very minor settings that has to do with initial wallet creation settings ...
2
votes
2
answers
89
views
Computing division of Ed25519 scalars
Is there any implementation that computes div(x,y) mod l, where l is the order of the base point G and x,y are from that field (i.e. they are ge), or a function that calculates the inverse of a scalar ...
2
votes
2
answers
1k
views
How do I fix build error about fPIC?
I recently built Monero from master on Manjaro, and there were no issues. I then built the same commit on an Ubuntu computer and received an error about fPIC.
Like ... .rodata' can not be used when ...
1
vote
1
answer
102
views
Correctly retrieving the tx_pubkey from a transaction
I found, in the code, an example of a function that retrieves a public key from a transaction. The comments say that because of a previous bug, the tx may contain more than one public key.
Do I ...
1
vote
1
answer
124
views
Get public key of tx that currently in txpool
Can someone tell me how I can get list of public keys of the transactions, which are currently in the txpool and has not yet been mined? That is, I am interested in how to get this information out of ...
1
vote
1
answer
351
views
What is the best Python library for hashing Cryptonight?
What is the best Python library for hashing Cryptonight hashes and building mining software?
3
votes
2
answers
77
views
What is the purpose of the Monero GitHub Meta repository?
According the Hello Monero dev meeting highlights for 2016-11-13, a new Github was created for organizational issues.
What type of issues is this GitHub meant to address?
Will the same Collective ...
1
vote
1
answer
103
views
What is the logic behind sc_add?
In sc_add (crypto-ops.c) we first load three chars, we mask with 2097151 (loosing information?):
int64_t a0 = 2097151 & load_3(a);
Then continue with something similar, but this time with four ...
1
vote
1
answer
53
views
What do these two lines in electrum-words.cpp do?
Analyzing the seed logic here;
Can someone please explain this expression:
w[0]= w[1] + word_list_length * (((word_list_length - w[1]) + w[2]) % word_list_length) +
word_list_length * ...
0
votes
1
answer
226
views
How to make a debug build of monero on mac os x?
I am able to compile monero on mac os x v 10.10.5 using the directions found here:
https://github.com/monero-project/monero
specifically
brew tap sammy007/cryptonight
brew install monero --build-from-...
0
votes
1
answer
64
views
Using crypto library from wallet
I'm trying to access functions from the crypto libray such as:
ge_frombytes_vartime(ge_p3 *h, const unsigned char *s)
ge_p3_to_p2(ge_p2 *r, const ge_p3 *p)
both in crypto-ops.c
I've added the crypto ...
3
votes
1
answer
93
views
ed25519 point structs
What do each of these structs represent?
What is the difference between them?
typedef struct {
fe X;
fe Y;
fe Z;
} ge_p2;
typedef struct {
fe X;
fe Y;
fe Z;
fe T;
} ge_p3;
typedef ...
1
vote
1
answer
63
views
P2P, RPC and Server related code
Is there a recommended source of information as to how Monero interacts with wallets and other nodes?
I'd like to get as much information as possible about the structure of the source code and am ...
3
votes
2
answers
83
views
What takes the most computing time in a monero wallet?
What functions take up most of the time for a new or restored simplewallet?
Is it the scanning for its own inputs?
What code line does the most heavy lifting in the simplewallet codebase?
Lets say ...
1
vote
1
answer
79
views
Helper functions for ECC operations in Monero
1 - Where exactly the base-point G is defined? for example the function ge_scalarmult_base should multiply by G, but in the implementation I don't see any reference, where G is initlized.
2- Where ...
10
votes
1
answer
165
views
Why limit the CRC by a modulo of 24 rather than 1626?
When looking through Monero's source code I was intrigued by the choice of the Mnemonic's 25th word which is defined as follow:
words += (' ' + words_store[create_checksum_index(words_store, ...
0
votes
4
answers
529
views
Is there a step by step tutorial on how to compile from source for Monero cli on ubuntu 16?
Is there an easy to follow step by step guide on how to compile monero from source? Alot of the times I compiled previously it stops due to something missing, which goes for many times installing ...
1
vote
0
answers
35
views
THE 2MB per process is that exact or will it change
I have a technical question on the MB per process. 2MB is always quoted. Is is exactly 2MB or slightly less? Is this a changing parameter that will change in the future?
8
votes
1
answer
293
views
Alternative Monero implementations
Considering the hardforks planned in Monero, it seems that having several implementations of the daemon is a difficult task as they would need to be kept in sync.
I wondered however:
Have there been ...
0
votes
1
answer
136
views
Does core_rpc_server::on_submitblock need full block blob?
It looks like the core_rpc_server::on_submitblock method is expecting a full block blob, since it calls...
if(!parse_and_validate_block_from_blob(blockblob, b))
However this RPC method is used to ...
11
votes
2
answers
433
views
What type of security audits has Monero received?
What type of security audits has Monero received?
Since this question already addressed cryptographic review of the Monero protocol, I am primarily interested in Monero source code and ...
2
votes
1
answer
415
views
If I compile from source, how can I change default wallet and daemon 10-block lock time?
Before I go further, I'll point out:
This is procedure could put one's privacy at risk.
This would cause a tx to fail more often in the case of a chain reorg.
There's likely more than two ...
2
votes
1
answer
204
views
What is the meaning of wallet2::transfer_details::m_global_output_index?
I'm new in Monero. While reviewing the codebase of the Monero project, I'm stuck in the m_global_output_index field in transfer_details struct in the 'wallet2.h' file and want to know what it means. ...
4
votes
1
answer
86
views
How can I test fluffyblocks?
How can I test Fluffyblocks on mainnet? I found this GitHub repo linked on Reddit but I am unsure how to use it in production.
Can I compile this source code to work with my existing blockchain or ...
4
votes
1
answer
838
views
ELI5 how to install AEON on Ubuntu 16.04 LTS
After the downloading the tar.gz file from GitHub to my default downloads folder what do I do next?
The readme below seems to provide general instructions for compiling from master but is not specific ...
3
votes
1
answer
658
views
How is building the GUI from source different from building monerod/CLI?
Since I've been building monerod/CLI from source since before the GUI wallet was released, I already have a fully populated monero directory with my wallet and everything else that gets installed in ...
5
votes
1
answer
76
views
What are field elements and group elements used for?
Field elements (fe) and group elements (ge) are defined in the ref10 folder. They're also used in computations in crypto-ops-data.c.
I'm trying to understand how Monero works by reading the code, but ...
1
vote
1
answer
106
views
Why does the SHA512 code include numbers ending in ULL?
The sha512-blocs.c file contains five blocks like these:
F(w0 ,0x428a2f98d728ae22ULL)
F(w1 ,0x7137449123ef65cdULL)
F(w2 ,0xb5c0fbcfec4d3b2fULL)
F(w3 ,0xe9b5dba58189dbbcULL)
F(w4 ,...
8
votes
1
answer
102
views
A SHA-1 collision has been found. Does that mean the Monero repositories on Github can be compromised?
Git (and thus Github) relies on the SHA-1 hash function to guarantee that files can't be secretly changed. Now a collision has been found: two different files that produce the same hash. The ...
4
votes
1
answer
87
views
Source code history "immutability"
I'm fairly new to git and it seems surprisingly easy to rewrite past commits.
I'm aware of the signed commits, and if I understand it correctly, it prevents against unauthorized/untrusted write ...
7
votes
2
answers
257
views
How much of the Monero code has been changed since the Bytecoin fork?
Is a large portion of the code still 'original' bytecoin code, or has, over the years, with the edition various new features, most of Monero become original code and the remaining Bytecoin code (<...
2
votes
1
answer
238
views
Errors while compiling Monero on openSUSE
I'm trying to compile latest version of Monero On openSUSE Leap, but it throws an error:
Scanning dependencies of target obj_common
make[3]: Leaving directory '/home/user/monero/build/release'
make[3]...
3
votes
2
answers
297
views
Computing the hash of a string using Monero's codebase
In the process of trying to learn Monero's codebase and attempting to modify it, I have come across this difficulty: after having a user to enter his/her passphrase (a string), I would like to compute ...
4
votes
1
answer
106
views
Updating my monero master
So I cloned the monero github onto my computer around 2 months ago.
How do I update the entire thing to the most current release? Is there a simple way to do so?
10
votes
2
answers
3k
views
How do I build Monero for Windows from source?
Are there detailed build instructions for building Monero for Windows?
Does the version of Windows we are building for (7,8, 10) (x86 vs x64) require different dependencies?
edit: Can we compile ...
19
votes
1
answer
2k
views
How can someone verify that the source downloaded from github is genuine?
When someone downloads the Monero source tree from github, there is a possible risk that this is not what the developers created. This could be MITM attacks, whether between developers and github or ...
2
votes
2
answers
3k
views
How many lines of source code does Monero have?
How many lines of source code does Monero have? How does that number compare with the amount of Bitcoin source code?