Enabled all site except user guides to be multilingual ready

- Moved technical specs out of 'Resources' and into root
parent 5cd5e7ea
......@@ -26,7 +26,7 @@ gems:
# jekyll-multiple-languages-plugin settings:
languages: ["en", "es"]
exclude_from_localizations: ["img", "css", "fonts", "media", "404", "feed.xml", "404", "meta", "forum-funding-system", "_posts"]
exclude_from_localizations: ["img", "css", "fonts", "media", "404", "feed.xml", "404", "meta", "forum-funding-system", "_posts", "legal"]
......
<div class="downloads">
<div class="container description" markdown="1">
If you need help choosing the correct application, please click [here](https://www.reddit.com/r/Monero/comments/64b5lf/what_is_the_best_monero_wallet/) for a quick answer, then select the appropriate release for your operating system below.
Note: the SHA256 hashes are listed by the downloads for convenience, but a GPG-signed list of the hashes is at [getmonero.org/downloads/hashes.txt](https://getmonero.org/downloads/hashes.txt) and should be treated as canonical, with the signature checked against the appropriate GPG key in the source code (in /utils/gpg_keys).
</div>
<div class="container full downdropdown">
<div class="info-block download-nav row middle-xs between-xs" id="selections">
<div class="col"><a href="#windows">Windows</a></div>
<div class="col"><a href="#mac">Mac</a></div>
<div class="col"><a href="#linux">Linux</a></div>
<div class="col"><a href="#arm">Arm (v7 & 8)</a></div>
<div class="col"><a href="#bsd">BSD</a></div>
<div class="col"><a href="#source">Source & Blockchain</a></div>
<div class="col"><a href="#mobilelight">Mobile & Light</a></div>
<div class="col"><a href="#hardware">Hardware</a></div>
</div>
</div>
<div class="container full">
<div class="info-block row center-xs" id="pick-platform">
<div class="mob dropdowndrop">
<input id="check01" type="checkbox" name="menu"/>
<label for="check01">Choose your OS</label>
<ul id="menu">
<li><a href="#windows">Windows</a></li>
<li><a href="#mac">Mac</a></li>
<li><a href="#linux">Linux</a></li>
<li><a href="#arm">Arm (v7 & 8)</a></li>
<li><a href="#bsd">BSD</a></li>
<li><a href="#source">Source & Blockchain</a></li>
<li><a href="#mobilelight">Mobile & Light</a></li>
<li><a href="#hardware">Hardware</a></li>
</ul>
</div>
</div>
</div>
<div class="download-platforms">
{% for data_downloads in site.data.downloads %}
<section class="container full" id="{{ data_downloads.id}}">
<div class="info-block">
<h2>
{% if data_downloads.icon != null %}
<span class="{{data_downloads.icon}}"></span>
{% endif %}
{{data_downloads.platform}}
</h2>
{% if data_downloads.version != null %}
<p class="text-center">Current Version: {{ data_downloads.version }} {{ data_downloads.tag }}</p>
{%endif%}
{% if data_downloads.cli_hash == "source" %}
<div class="row">
<div class="col-md-8 col-md-offset-2 col-sm-12 col-xs-12">
<h4 id="{{ data_downloads.platform | slugify }}">
<a href="{{ data_downloads.cli_url }}">Source Code</a>
</h4>
</div>
<div class="col-md-8 col-md-offset-2 col-sm-12 col-xs-12" markdown="1">
If you'd prefer to use a blockchain bootstrap, instead of syncing from scratch, you can [use this link for the most current bootstrap](https://downloads.getmonero.org/blockchain.raw). It is typically much faster to sync from scratch, however, and it also takes a lot less RAM (import is very greedy).
</div>
</div>
{% elsif data_downloads.id == "hardware" %}
<div class="row">
<div class="col-md-8 col-md-offset-2 col-sm-12 col-xs-12">
<p>The Monero community has just funded a <a href="https://forum.getmonero.org/9/work-in-progress/88149/dedicated-monero-hardware-wallet" target="_blank" rel="noreferrer, noopener">Dedicated Hardware Wallet</a> which is now in progress. As well, Ledger is working on <a href="https://github.com/LedgerHQ/blue-app-monero" target="_blank" rel="noreferrer, noopener">integrating Monero into their hardware wallets</a>.</p>
</div></div>
{% elsif data_downloads.id == "mobilelight" %}
<div class="row">
<div class="col-md-8 col-md-offset-2 col-sm-12 col-xs-12">
<p>The following are mobile or light wallets that are deemed safe by trusted members of the community. If there is a wallet that is not on here, you can request the community check it out. Go to our <a href="/community/hangouts/">Hangouts</a> page to see where we are.</p>
</div>
</div>
<div class="row center-xs">
<div class="col-xs-12">
<a href="https://mymonero.com"><img src="/img/mymonero.png" alt="MyMonero Logo"></a>
</div>
</div>
{% elsif data_downloads.gui_hash == nil and data_downloads.cli_hash != nil %}
<div class="row"><div class="col-md-8 col-md-offset-2 col-sm-12 col-xs-12"><h4 id="{{ data_downloads.platform | slugify }}">
<a href="//downloads.getmonero.org/cli/{{ data_downloads.cli_url }}"> {{ data_downloads.platform }} (Command-line Tools Only)</a>
</h4></div></div>
<div class="row"><div class="col-md-8 col-md-offset-2 col-sm-12 col-xs-12">
<p><strong>SHA256 Hash:</strong></p> <p class="hash"> {{ data_downloads.cli_hash }}</p></div>
</div>
{% elsif data_downloads.gui_hash != nil and data_downloads.cli_hash == nil %}
<div class="row">
<h4 id="{{ data_downloads.platform | slugify }}">
<a href="//downloads.getmonero.org/gui/{{ data_downloads.gui_url }}">{{ data_downloads.platform }}</a>
</h4></div>
<div class="row">
<p><strong>SHA256 Hash:</strong></p> <p class="hash"> {{ data_downloads.gui_hash }}</p>
</div>
{% elsif data_downloads.gui_hash != nil and data_downloads.cli_hash != nil %}
<div class="row start-md">
<div class="col-md-6 col-sm-12" >
<h4 id="{{ data_downloads.platform | slugify }}">
<a href="//downloads.getmonero.org/gui/{{ data_downloads.gui_url }}">{{ data_downloads.platform }}</a>
</h4>
<p><strong>SHA256 Hash (GUI):</strong></p> <p class="hash"> {{ data_downloads.gui_hash }}</p>
</div>
<div class="col-md-6 col-sm-12">
<h4>
<a href="//downloads.getmonero.org/cli/{{ data_downloads.cli_url }}">{{ data_downloads.platform }} (Command-Line Tools Only)</a>
</h4>
<p><strong>SHA256 Hash (CLI):</strong></p> <p class="hash"> {{ data_downloads.cli_hash }}</p>
</div>
</div>
{% endif %}
</div>
</section>
{% endfor %}
</div>
<a href="#" class="arrow-up"><i></i></a>
</div>
<section class="container">
<div class="row">
<!-- left two-thirds block-->
<div class="full">
<div class="info-block text-adapt">
<div class="row center-xs">
<div class="col">
<h2>Instructions for the Command-Line Interface</h2>
</div>
</div>
<div markdown="1">
### The Basics
Monero works a little differently to what you may have become accustomed to from other @cryptocurrencies. In the case of a digital currency like Bitcoin and its many derivatives merchant payment systems will usually create a new recipient @address for each payment or user.
However, because Monero has @stealth-addresses there is no need to have separate recipient addresses for each payment or user, and a single @account address can be published. Instead, when receiving payments a merchant will provide the person paying with a "payment ID".
A @payment-ID is a hexadecimal string that is 64 characters long, and is normally randomly created by the merchant. An example of a payment ID is:
```
666c75666679706f6e7920697320746865206265737420706f6e792065766572
```
### Checking for a Payment in monero-wallet-cli
If you want to check for a payment using monero-wallet-cli you can use the "payments" command followed by the payment ID or payment IDs you want to check. For example:
```
[wallet 49VNLa]: payments 666c75666679706f6e7920697320746865206265737420706f6e792065766572
payment transaction height amount unlock time
666c75666679706f6e79206973207 7ba4cd810c9b4096869849458181e98e 441942 30.00000 0
[wallet 49VNLa]: █
```
If you need to check for payments programmatically, then details follow the next section.
### Receiving a Payment Step-by-Step
* Generate a random 64 character hexadecimal string for the payment
* Communicate the payment ID and Monero address to the individual who is making payment
* Check for the payment using the "payments" command in monero-wallet-cli
### Checking for a Payment Programmatically
In order to check for a payment programmatically you can use the get_payments or get_bulk_payments JSON RPC API calls.
*get_payments*: this requires a payment_id parameter with a single payment ID.
*get_bulk_payments*: this is the preferred method, and requires two parameters, payment_ids - a JSON array of payment IDs - and an optional min_block_height - the block height to scan from.
An example of returned data is as follows:
```
[ monero->~ ]$ curl -X POST http://127.0.0.1:18500/json_rpc -d '{"jsonrpc":"2.0","method":"get_bulk_payments","id":"test", "params":{"payment_ids": ["666c75666679706f6e7920697320746865206265737420706f6e792065766572"]}}' -H "Content-Type: application/json"
{
"id": "test",
"jsonrpc": "2.0",
"result": {
"payments": [{
"amount": 30000000000000,
"block_height": 441942,
"payment_id": "666c75666679706f6e7920697320746865206265737420706f6e792065766572",
"tx_hash": "7ba4cd810c9b4096869849458181e98e18b6474ab66415de0f4ccf7ab1162fdf",
"unlock_time": 0
}]
}
}
```
It is important to note that the amounts returned are in base Monero units and not in the display units normally used in end-user applications. Also, since a transaction will typically have multiple outputs that add up to the total required for the payment, the amounts should be grouped by the tx_hash or the payment_id and added together. Additionally, as multiple outputs can have the same amount, it is imperative not to try and filter out the returned data from a single get_bulk_payments call.
Before scanning for payments it is useful to check against the daemon RPC API (the get_info RPC call) to see if additional blocks have been received. Typically you would want to then scan only from that received block on by specifying it as the min_block_height to get_bulk_payments.
### Programatically Scanning for Payments
* Get the current block height from the daemon, only proceed if it has increased since our last scan
* Call the get_bulk_payments RPC API call with our last scanned height and the list of all payment IDs in our system
* Store the current block height as our last scanned height
* Remove duplicates based on transaction hashes we have already received and processed
</div>
</div>
</div>
<!-- end right one-third block-->
</div>
</section>
\ No newline at end of file
<div markdown="1" class="text-center container description">
Monero is an open-source, community-driven project. Described below are several ways to support the project.
</div>
<div class="contribute">
<section class="container">
<div class="row">
<!-- full block-->
<div class="full col-lg-12 col-md-12 col-sm-12 col-xs-12">
<div class="info-block text-adapt">
<div class="row center-xs">
<div class="col"><h2>Support the Network</h2></div>
</div>
<div class="row start-xs" markdown="1">
### Develop
Monero is primarily written in C++. As it is a decentralized project, anyone is welcome to add or make changes to existing code. Pull requests are merged based on community consensus. See the <a href="https://github.com/monero-project"> repositories</a> and outstanding <a href="https://github.com/monero-project/monero/issues">issues</a>.
### Run a Full Node
Run monerod with port 18080 open. Running a full node ensures maximum privacy when transacting with Monero. It also improves distribution of the blockchain to new users.
### Mine
Mining ensures the Monero network remains decentralized and secure. In the Monero graphical user interface and command-line interface, background mining may be activated. Additional resources for mining may be viewed [here](https://reddit.com/r/MoneroMining).
</div>
</div>
</div>
<!-- end full block-->
<!-- full block-->
<div class="full col-lg-12 col-md-12 col-sm-12 col-xs-12">
<div class="info-block text-adapt">
<div class="row center-xs">
<div class="col">
<h2>View the Forum Funding System</h2>
</div>
</div>
<div class="row start-xs">
<p>Monero utilizes a <a href="https://forum.getmonero.org">forum funding system</a> whereby projects are proposed for development and community-funded. Funding is held in escrow and remunerated to developers once programming milestones are achieved. Anyone may generate new proposals or fund existing ones.</p>
</div>
</div>
</div>
<!-- full block-->
<!-- full block-->
<div class="full col-lg-12 col-md-12 col-sm-12 col-xs-12">
<div class="info-block text-adapt">
<div class="row center-xs">
<div class="col">
<h2>Donate</h2>
</div>
</div>
<div class="row start-xs">
<p>Ongoing development is supported by donations and <a href="/community/sponsorships/">sponsorships</a>.</p>
</div>
<div class="row center-xs">
<div class="col-lg-6">
<img src="/img/donate-monero.png" alt=""/>
</div>
<div class="col-lg-6">
<img src="/img/donate-bitcoin.png" alt=""/>
</div>
</div>
<div class="row start-xs">
<div class="col-xs-12">
<h3>Donating Monero</h3>
<p>Donations may be sent to donate.getmonero.org or 44AFFq5kSiGBoZ4NMDwYtN18obc8AemS33DBLWs3H7otXft3XjrpDtQGv7SqSsaBYBb98uNbr2VBBEt7f2wfn3RVGQBEP3A</p>
</div>
</div>
<div class="row start-xs">
<div class="col-xs-12">
<h3>Donating Bitcoin</h3>
<p>Donations may be sent to donate.getmonero.org or 1KTexdemPdxSBcG55heUuTjDRYqbC5ZL8H</p>
</div>
</div>
<div class="row start-xs">
<div class="col-xs-12">
<h3>Other</h3>
<p>E-mail <a href="mailto:[email protected]">[email protected]</a> for alternative means of donating or if you would like to become a sponsor for the Monero Project.</p>
</div>
</div>
</div>
</div>
<!-- full block-->
</div>
</section>
</div>
<div class="tab">
<input id="tab-one" type="checkbox" name="tabs" class="accordion">
<label for="tab-one" class="accordion">How does Monero have value?</label>
<div class="tab-content" markdown="1">
Monero has value because people are willing to buy it. If no one is willing to buy Monero, then it will not have any value. Monero’s price increases if demand exceeds supply, and it decreases if supply exceeds demand.
</div>
</div>
<div class="tab">
<input id="tab-two" type="checkbox" name="tabs" class="accordion">
<label for="tab-two" class="accordion">How can I get Monero?</label>
<div class="tab-content" markdown="1">
You can buy Monero from an exchange or from an individual. Alternatively, you can try mining Monero to get coins from the block reward.
</div>
</div>
<div class="tab">
<input id="tab-three" type="checkbox" name="tabs" class="accordion">
<label for="tab-three" class="accordion">What is a mnemonic seed?</label>
<div class="tab-content" markdown="1">
A mnemonic seed is a set of 25 words that can be used to restore your account anywhere. Keep these words safe and do not share them with someone else. You can use this seed to restore your account, even if your computer crashes.
</div>
</div>
<div class="tab">
<input id="tab-four" type="checkbox" name="tabs" class="accordion">
<label for="tab-four" class="accordion">How is Monero’s privacy different from other coins?</label>
<div class="tab-content" markdown="1">
Monero uses three different privacy technologies: ring signatures, ring confidential transactions (RingCT), and stealth addresses. These hide the sender, amount, and receiver in the transaction, respectively. All transactions on the network are private by mandate; there is no way to accidentally send a transparent transaction. This feature is exclusive to Monero. You do not need to trust anyone else with your privacy.
</div>
</div>
<div class="tab">
<input id="tab-five" type="checkbox" name="tabs" class="accordion">
<label for="tab-five" class="accordion">Why is my wallet taking so long to sync?</label>
<div class="tab-content" markdown="1">
If you are running a full node locally, you need to copy the entire blockchain to your computer. This can take a long time, especially on an old hard drive or slow internet connection. If you are using a remote node, your computer still needs to request a copy of all the outputs, which can take several hours. Be patient, and if you would like to sacrifice some privacy for faster sync times, consider using a lightweight wallet instead.
</div>
</div>
<div class="tab">
<input id="tab-six" type="checkbox" name="tabs" class="accordion">
<label for="tab-six" class="accordion">What is the different between a lightweight and a normal wallet?</label>
<div class="tab-content" markdown="1">
For a lightweight wallet, you give your view key to a node, who scans the blockchain and looks for incoming transactions to your account on your behalf. This node will know when you receive money, but it will not know how much you receive, who you received it from, or who you are sending money to. Depending on your wallet software, you may be able to use a node you control to avoid privacy leaks. For more privacy, use a normal wallet, which can be used with your own node.
</div>
</div>
<div class="tab">
<input id="tab-seven" type="checkbox" name="tabs" class="accordion">
<label for="tab-seven" class="accordion">How is Monero different from Bitcoin?</label>
<div class="tab-content" markdown="1">
Monero is not based on Bitcoin. It is based on the CryptoNote protocol. Bitcoin is a completely transparent system, where people can see exactly how much money is being sent from one user to another. Monero hides this information to protect user privacy in all transactions. It also has a dynamic block size and dynamic fees, an ASIC-resistant proof of work, and a tail coin emission, among several other changes.
</div>
</div>
<div class="tab">
<input id="tab-eight" type="checkbox" name="tabs" class="accordion">
<label for="tab-eight" class="accordion">Does Monero have a block size limit?</label>
<div class="tab-content" markdown="1">
No, Monero does not have a hard block size limit. Instead, the block size can increase or decrease over time based on demand. It is capped at a certain growth rate to prevent outrageous growth.
</div>
</div>
<div class="tab">
<input id="tab-nine" type="checkbox" name="tabs" class="accordion">
<label for="tab-nine" class="accordion">What is a blockchain?</label>
<div class="tab-content" markdown="1">
A blockchain is a system that stores a copy of all transaction history on the Monero network. Every two minutes, a new block with the latest transaction information is added to the blockchain. This chain allows the network to verify the amount of money accounts have and make it resilient to attacks and centralization attempts.
</div>
</div>
<div class="tab">
<input id="tab-ten" type="checkbox" name="tabs" class="accordion">
<label for="tab-ten" class="accordion">What is Kovri?</label>
<div class="tab-content" markdown="1">
Kovri is an I2P router written in C++. I2P is a hidden network like Tor with several technical differences. Kovri is an independent project of Monero, but it will work with Monero and several other projects. Kovri hides the transaction broadcast, so other nodes do not know who created transactions. In adversarial conditions, Kovri can be used to hide all Monero traffic through I2P, which would prevent people from knowing Monero is being used. Kovri is currently in alpha, and it is not yet fully integrated in Monero. Learn more about Kovri at the [project website.](https://getkovri.org)
</div>
</div>
<div class="tab">
<input id="tab-eleven" type="checkbox" name="tabs" class="accordion">
<label for="tab-eleven" class="accordion">What is fungibility, and why is it important?</label>
<div class="tab-content" markdown="1">
Fungibility is a simple property of money such that there are no differences between two amounts of the same value. If two people exchanged a 10 and two 5’s, then no one would lose out. However, let’s suppose that everyone knows the 10 was previously used in a ransomware attack. Is the other person still going to make the trade? Probably not, even if the person with the 10 has no connection with the ransomware. This is a problem, since the receiver of money needs to constantly check the money they are receiving to not end up with tainted coins. Monero is fungible, which means people do not need to go through this effort.
</div>
</div>
<div class="tab">
<input id="tab-twelve" type="checkbox" name="tabs" class="accordion">
<label for="tab-twelve" class="accordion">If Monero is so private how do we know they're not being created out of thin air?</label>
<div class="tab-content" markdown="1">
In Monero, every transaction output is uniquely associated with a key image that can only be generated by the holder of that output. Key images that are used more than once are rejected by the miners as double-spends and cannot be added to a valid block. When a new transaction is received, miners verify that the key image does not already exist for a previous transaction to ensure it's not a double-spend.
We can also know that transaction amounts are valid even though the value of the inputs that you are spending and the value of the outputs you are sending are encrypted (these are hidden to everyone except the recipient). Because the amounts are encrypted using Pedersen commitments what this means is that no observers can tell the amounts of the inputs and outputs, but they can do math on the Pedersen commitments to determine that no Monero was created out of thin air.
As long as the encrypted output amounts you create is equal to the sum of the inputs that are being spent (which include an output for the recipient and a change output back to yourself and the unencrypted transaction fee), then you have a legitimate transaction and know no Monero is being created out of thin air. Pedersen commitments mean that the sums can be verified as being equal, but the Monero value of each of the sums and the Monero value of the inputs and outputs individually are undeterminable.
</div>
</div>
<div class="mining">
<div class="center-xs container description">
<p>Monero is a cryptocurrency that relies on proof-of-work mining to achieve distributed consensus. Below you'll find some information and resources on how to begin mining.</p>
<p><strong>The Monero Project does not endorse any particular pool, software, or hardware, and the content below is provided for informational purposes only.</strong></p>
</div>
<section class="container">
<div class="row">
<!-- full block-->
<div class="full col-lg-12 col-md-12 col-sm-12 col-xs-12">
<div class="info-block">
<div class="row center-xs">
<div class="col">
<h2>Support</h2>
</div>
</div>
<div class="row center-xs">
<p>See <a href="/community/hangouts/"> Hangouts</a>, <a href="https://www.reddit.com/r/MoneroMining/" target="_blank" rel="noreferrer noopener">/r/moneromining</a> and <a href="irc://chat.freenode.net/#monero-pools" target="_blank" rel="noreferrer noopener">#monero-pools</a>.</p>
</div>
</div>
</div>
<!-- end full block -->
</div>
</section>
<section class="container">
<div class="row">
<div class="left half no-pad-sm col-lg-6 col-md-6 col-sm-12 col-xs-12">
<div class="info-block">
<div class="row center-xs">
<div class="col">
<h2>Pools</h2>
</div>
</div>
<div class="row center-xs">
<p>A listing of trusted Monero pools is found <a href="http://moneropools.com/"> here</a>.</p>
</div>
</div>
</div>
<div class="right half col-lg-6 col-md-6 col-sm-12 col-xs-12">
<div class="info-block">
<div class="row center-xs">
<div class="col">
<h2>Hardware Benchmarking</h2>
</div>
</div>
<div class="row center-xs">
<p>See <a href="http://monerobenchmarks.info/">here</a> for a listing of GPUs/CPUs and their respective hashrates.</p>
</div>
</div>
</div>
</div>
</section>
<section class="container">
<div class="row">
<!-- full block-->
<div class="full col-lg-12 col-md-12 col-sm-12 col-xs-12">
<div class="info-block">
<div class="row center-xs">
<div class="col">
<h2>Mining Software</h2>
</div>
</div>
<div class="row center-xs">
<p>Note that some miners may have developer fees.</p>
</div>
<div class="row center-xs">
<p><a href="https://github.com/fireice-uk/xmr-stak" target="_blank" rel="noreferrer noopener">XMR Stak</a></p>
<p><a href="https://github.com/xmrig/xmrig" target="_blank" rel="noreferrer noopener">XMRig</a></p>
<p><a href="https://github.com/xmrig/xmrig-amd" target="_blank" rel="noreferrer noopener">XMRig AMD</a></p>
<p><a href="https://github.com/xmrig/xmrig-nvidia" target="_blank" rel="noreferrer noopener">XMRig NVIDIA</a></p>
</div>
</div>
</div>
<!-- end full block -->
</div>
</section>
</div>
\ No newline at end of file
<div class="text-center container description">
<p>Transacting with Monero can be made easy. This page is designed to guide users in that process.</p>
</div>
<div class="using">
<section class="container">
<div class="row">
<!-- full block-->
<div class="full col-lg-12 col-md-12 col-sm-12 col-xs-12">
<div class="info-block text-adapt">
<div class="row center-xs">