-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #14 from AIBlockOfficial/mining_docs
Mining Documentation
- Loading branch information
Showing
7 changed files
with
215 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
## Description | ||
Provide a clear and concise description of the changes introduced in this pull request. | ||
|
||
Fixes # (issue number) | ||
|
||
## Changelog | ||
|
||
- List the changes to the codebase that this PR introduces | ||
|
||
## Type of Change | ||
Please mark the appropriate option by putting an "x" inside the brackets: | ||
|
||
- [ ] Bug fix | ||
- [ ] New feature | ||
- [ ] Enhancement or optimization | ||
- [ ] Documentation update | ||
- [ ] Other (please specify) | ||
|
||
## Checklist | ||
Put an "x" in the boxes that apply. If you're unsure about any of these, don't hesitate to ask. We're here to help! | ||
|
||
- [ ] I have tested the changes locally and they work as expected. | ||
- [ ] I have added necessary documentation or updated existing documentation. | ||
- [ ] My code follows the project's coding standards and style guidelines. | ||
- [ ] I have added/updated relevant tests to ensure the changes are properly covered. | ||
- [ ] I have checked for and resolved any merge conflicts. | ||
- [ ] My commits have clear and descriptive messages. | ||
|
||
## Screenshots (if applicable) | ||
If the changes affect the UI or have visual effects, please provide screenshots or GIFs showcasing the changes. | ||
|
||
## Additional Context (if applicable) | ||
Add any additional context or information about the changes that may be helpful in understanding the pull request. | ||
|
||
## Related Issues (if applicable) | ||
If this pull request is related to any existing issues, please list them here. | ||
|
||
## Requested Reviewers | ||
Mention any specific individuals or teams you would like to request a review from. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
--- | ||
sidebar_position: 2 | ||
title: Mining | ||
sidebar_label: Mining | ||
hide_title: true | ||
tags: | ||
- mining | ||
--- | ||
|
||
import DocCardList from '@theme/DocCardList'; | ||
import {useCurrentSidebarCategory} from '@docusaurus/theme-common'; | ||
import Hero from "../static/img/mining_icon.svg" | ||
|
||
<br /> | ||
|
||
<div align="center"> | ||
<a href='https://github.com/AIBlockOfficial/Network' target='_blank'> | ||
<div style={{width:"150px"}}> | ||
<Hero style={{width:"100%", height:"auto"}} /> | ||
</div> | ||
</a> | ||
|
||
<h3 align="center"><a href='https://github.com/AIBlockOfficial/Network' target='_blank'>Mining on AIBlock</a></h3> | ||
|
||
<p align="center"> | ||
How AIBlock mining works, from the ground up | ||
<br /> | ||
<br /> | ||
</p> | ||
</div> | ||
|
||
## Bringing Fairness and Equality Back to Mining | ||
|
||
AIBlock has gone to great lengths to ensure that mining on the system is made as fair and equitable as possible. The protocol leverages | ||
a unique consensus mechanism and block creation process to minimise the advantage of ASICs and brings mining back to the CPU. Any CPU. | ||
|
||
In addition, AIBlock's use of UNiCORNs in a novel random selection process ensures that the energy used during mining is minimal. AIBlock mining | ||
is there to validate transactions, rather than consuming vast amounts of electricity. | ||
|
||
You can find out more about how mining works on AIBlock at the following articles: | ||
|
||
- [Beyond Bitcoin: AIBlock’s Leap Towards Sustainable, High-Reward Mining](https://medium.com/@AIBlock/beyond-bitcoin-aiblocks-leap-towards-sustainable-high-reward-mining-3f0f1aad5402) | ||
- [Empowering Miners: The Revolutionary Approach to AIBlock’s Proof of Work](https://medium.com/@AIBlock/empowering-miners-the-revolutionary-approach-to-aiblocks-proof-of-work-bc07b350e672) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
--- | ||
title: Hardware Requirements | ||
description: Hardware requirements needed for miners | ||
sidebar_label: Hardware Requirements | ||
sidebar_position: 0 | ||
hide_title: false | ||
tags: | ||
- mining | ||
- hardware requirements | ||
--- | ||
|
||
This section covers the recommended hardware requirements for running a mining node on AIBlock | ||
|
||
<br/> | ||
|
||
### Resource Requirements | ||
|
||
The following are the tested hardware specifications for mining nodes within the AIBlock system. These are not necessarily | ||
the minimum hardware specs required, but mining has been tested on them and runs successfully. | ||
|
||
|
||
| | Windows | Ubuntu | MacOS | | ||
|-----|-----------------------------------------|-----------------------------------------|---------------------------------| | ||
| OS | Windows 11 Home version 22H2 | Ubuntu 22.04.2 LTS | macOS Big Sur v11.6.2 | | ||
| CPU | 11th Gen Intel Core i7-1165G7 @ 2.80GHz | 11th Gen Intel Core i7-1165G7 @ 2.80GHz | 2 GHz Quad-Core Intel Core i5 | | ||
| GPU | Intel Iris Xe Graphics | Mesa Intel Xe Graphics (TGL GT2) | Intel Iris Plus Graphics 1536MB | | ||
| RAM | 16GB | 16GB | 16GB | | ||
| SSD | 64GB | 64GB | 64GB | | ||
|
||
_* SSD requirements are based on the smallest SSD drives regularly available_ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,71 @@ | ||
--- | ||
title: Installing a Node | ||
description: How to install a mining node | ||
sidebar_label: Installing a Node | ||
sidebar_position: 0 | ||
hide_title: false | ||
tags: | ||
- mining | ||
- installation | ||
--- | ||
|
||
Mining nodes in the AIBlock system can be installed in one of two ways: | ||
|
||
1. Docker container | ||
2. Built from source | ||
|
||
The Docker container is still currently being built, so for now you'll need to build from source in order to start mining. | ||
|
||
## Build from Source | ||
|
||
To build a mining node from source, you can implement the following steps: | ||
|
||
### Setup | ||
|
||
The AIBlock Network runs on Rust, so installing this is the first step before dealing with any code. You can install `rustup`, Rust's toolchain installer, by running the following: | ||
|
||
``` | ||
curl https://sh.rustup.rs -sSf | sh | ||
``` | ||
|
||
When asked how to proceed, simply selecting the option `1) Proceed with installation` is generally the best. You can then run the following to update the `PATH` variable and check whether everything installed correctly: | ||
|
||
``` | ||
source $HOME/.cargo/env | ||
rustc --version | ||
``` | ||
|
||
If the terminal responds with the `rustc` version you're currently running then everything went well, and you're ready to go. | ||
|
||
### Linux | ||
|
||
Linux (Ubuntu 20.04.01 LTS) may require extra package installations depending on what you've developed before. The following package installs assume a completely new machine instance, and should cover everything you need to get going: | ||
|
||
``` | ||
sudo apt install build-essential | ||
sudo apt-get install m4 | ||
sudo apt-get install llvm | ||
sudo apt-get install libclang-dev | ||
``` | ||
|
||
The above should enable you to install `librocksdb-sys` successfully, but older versions of this crate had bugs so it would be wise to ensure you've installed `rocksdb = "0.21.0"` or higher in order to avoid compilation issues. | ||
|
||
### Mining Node Build | ||
|
||
With the prerequisites set up, you can now clone the repo to your local machine: | ||
|
||
``` | ||
git clone [email protected]:AIBlockOfficial/Network.git | ||
``` | ||
|
||
You can then build everything by running | ||
|
||
```rust | ||
cargo build --release | ||
``` | ||
|
||
This will compile everything into a release state, from which you can then run the following to connect to the Playground testnet to mine: | ||
|
||
``` | ||
RUST_LOG=warp target/release/node miner --config=src/bin/node_settings_playground.toml --api_use_tls=0 --with_user_index=0` | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.