Stack Exchange Network

Stack Exchange network consists of 174 Q&A communities including Stack Overflow, the largest, most trusted online community for developers to learn, share their knowledge, and build their careers.

Visit Stack Exchange

Questions tagged [source]

Questions about Monero source code and the process of building from source

2
votes
1answer
29 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
1answer
56 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
1answer
39 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 * ...
1
vote
1answer
41 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 ...
0
votes
1answer
28 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 ...
2
votes
1answer
24 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
1answer
33 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
2answers
63 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 ...
2
votes
2answers
37 views

Computing division of ED25591 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 ...
1
vote
1answer
45 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 ...
0
votes
1answer
68 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 --...
0
votes
4answers
198 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
1answer
110 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 ...
2
votes
1answer
280 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 ...
10
votes
1answer
115 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, ...
4
votes
1answer
140 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 ...
1
vote
0answers
33 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?
1
vote
0answers
221 views

Where is the original cryptonote java implementation?

Supposedly cryptonote was first implemented in Java and then soon after migrated to c++. Where can I get the original Java implementation? I dont see it on GitHub. (I cant get access to the official ...
0
votes
1answer
106 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 ...
2
votes
1answer
177 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
1answer
84 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. ...
5
votes
1answer
79 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 ...
5
votes
1answer
698 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 ...
3
votes
1answer
468 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 ...
9
votes
1answer
210 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 ...
1
vote
1answer
59 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 ,...
6
votes
1answer
44 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 ...
8
votes
1answer
87 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
1answer
65 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 ...
8
votes
2answers
213 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 (<...
3
votes
1answer
186 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]...
11
votes
2answers
369 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 ...
5
votes
1answer
85 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?
4
votes
2answers
183 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 ...
2
votes
2answers
2k 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?
9
votes
2answers
2k 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
1answer
1k 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 ...