-
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.
- Loading branch information
Showing
96 changed files
with
630 additions
and
689 deletions.
There are no files selected for viewing
Empty file.
Empty file.
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
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
This file was deleted.
Oops, something went wrong.
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 |
---|---|---|
@@ -1,58 +1,101 @@ | ||
# MimbleWimbleCoin (MWC) Mining Overview | ||
# Getting Started with MWC Development | ||
|
||
## Introduction | ||
Welcome to the **MWC (MimbleWimble Coin)** development guide! This introduction is designed to help developers familiarize themselves with MWC's ecosystem, workflows, and tools to seamlessly integrate MWC functionalities into their applications. By understanding MWC's interactive transaction model and API usage, you'll be ready to start building secure, private, and scalable financial applications. | ||
|
||
MimbleWimbleCoin (MWC) is a privacy-oriented cryptocurrency that implements the MimbleWimble protocol. The protocol allows for increased privacy, scalability, and fungibility by structuring transactions in a way that avoids much of the redundancy found in traditional blockchain systems. MWC aims to provide users with a decentralized, secure, and private means of transaction. | ||
|
||
## Why Mine MWC? | ||
|
||
Mining MWC not only helps secure the network but also rewards miners with MWC coins for their efforts in validating transactions and creating new blocks. It's a way to support the network's growth while earning cryptocurrency. | ||
## What is MWC? | ||
|
||
## Prerequisites for Mining MWC | ||
**MWC** is a privacy-centric cryptocurrency built on the **MimbleWimble** protocol. It focuses on providing scalable and private transactions by leveraging features such as confidential transactions, CoinJoin aggregation, and a compact blockchain. | ||
|
||
Before you start mining MWC, ensure you have the following: | ||
MWC differs from other cryptocurrencies due to its **interactive transaction process**, requiring the sender and recipient to collaborate to build and finalize a transaction. This unique approach ensures enhanced privacy and security. | ||
|
||
- **A compatible hardware setup**: Ideally, a powerful GPU as MWC mining is GPU-optimized. | ||
- **Mining software**: There are multiple mining software options available that support MWC. | ||
- **An MWC wallet**: To store the MWC rewards you earn from mining. | ||
- **Stable internet connection**: Mining requires a constant connection to the internet. | ||
- **Membership in a mining pool** (optional): While solo mining is possible, joining a mining pool can offer more consistent rewards. | ||
|
||
## Recommended Mining Software | ||
|
||
Several mining software options support MWC. Some popular choices include: | ||
## Key Features of MWC | ||
|
||
### GPU Mining Software | ||
- **Gminer** | ||
- **lolMiner** | ||
- **MWCMiner** | ||
1. **Enhanced Privacy**: Transactions are private by default, with no publicly visible addresses or amounts. | ||
2. **Scalability**: MimbleWimble uses a compact blockchain structure, making MWC lightweight and efficient. | ||
3. **Interactive Transactions**: Both sender and recipient must exchange data to complete a transaction, ensuring a secure and private process. | ||
|
||
### Asics Machine | ||
- **G1-Mini - Ipollo** | ||
- **G1 - Ipollo** | ||
|
||
Ensure you download the software from the official or a reputable source to avoid malicious programs. | ||
|
||
## Getting Started with Mining MWC | ||
## Development Prerequisites | ||
|
||
1. **Choose Your Mining Approach**: Decide whether you want to mine solo or join a mining pool. Mining solo might yield larger rewards per block, but they will be infrequent. Mining pools offer more consistent, but smaller, rewards. | ||
### Tools and Setup | ||
1. **MWC Wallet**: | ||
- Install the [official MWC Wallet](https://grin.mw) to manage transactions and interact with the blockchain. | ||
2. **Grin Node**: | ||
- Set up and sync a Grin node, as it acts as the interface between your application and the MWC blockchain. | ||
3. **API Access**: | ||
- Use the MWC Owner and Foreign APIs to programmatically manage wallets and transactions. | ||
- Obtain an API token for secure interactions with the wallet. | ||
|
||
2. **Set Up Your Mining Software**: Follow the installation and setup instructions provided by your chosen mining software. This wsill typically involve extracting the software to a folder and editing a `.bat` file to include your wallet address and, if applicable, your pool's information. | ||
### Knowledge Requirements | ||
- Familiarity with **JSON-RPC APIs**. | ||
- Basic understanding of the MimbleWimble protocol and cryptocurrency concepts. | ||
|
||
3. **Start Mining**: Run the mining software. If configured correctly, it should start communicating with the MWC network or your mining pool and begin mining. | ||
|
||
4. **Monitor Your Mining Activity**: Keep an eye on your mining software's dashboard or your mining pool's website to track your mining progress and earnings. | ||
|
||
## Tips for Successful Mining | ||
## MWC Transaction Model | ||
|
||
- **Stay Updated**: Keep your mining software and drivers up to date to maintain optimal mining efficiency. | ||
- **Monitor Your Hardware**: Ensure your mining setup is in a cool, ventilated area to prevent overheating. | ||
- **Consider Electricity Costs**: Mining consumes a lot of power. Make sure the cost of electricity does not negate your mining rewards. | ||
MWC employs an **interactive transaction process** that involves collaboration between the sender and recipient. Here's an overview: | ||
|
||
## Conclusion | ||
### Sender Workflow | ||
1. **Initiate Transaction**: Start the transaction with the desired amount. | ||
2. **Send Slatepack**: Generate and send an encoded Slatepack (transaction details) to the recipient. | ||
3. **Finalize Transaction**: After receiving the recipient's response, finalize the transaction. | ||
4. **Broadcast Transaction**: Submit the finalized transaction to the Grin node for propagation across the network. | ||
5. **Track Confirmation**: Monitor the transaction status on the blockchain. | ||
|
||
Mining MWC can be a rewarding way to participate in the cryptocurrency ecosystem. By ensuring you have the right setup and approach, you can start mining and contributing to the security of the network, while earning MWC as a reward for your efforts. | ||
### Recipient Workflow | ||
1. **Receive Slatepack**: Decode the Slatepack sent by the sender. | ||
2. **Sign and Respond**: Add a signature and modify the Slatepack. | ||
3. **Send Response**: Return the modified Slatepack to the sender. | ||
|
||
Remember, the world of cryptocurrency mining is always evolving, so stay informed about the latest mining strategies and technologies to maximize your mining efforts. | ||
|
||
Happy mining! | ||
|
||
## Interactive Transaction Workflow | ||
|
||
### What is a Slatepack? | ||
A **Slatepack** is an encoded message format used to exchange transaction data securely between sender and recipient. It ensures that transaction details remain private during transmission. | ||
|
||
### Key Steps in the Workflow | ||
1. **Encoding and Decoding**: Both sender and recipient must encode or decode Slatepacks during the transaction process. | ||
2. **Signing and Modification**: The recipient must add their signature to the Slatepack before returning it to the sender. | ||
3. **Finalization**: The sender finalizes the transaction after receiving the modified Slatepack. | ||
4. **Broadcast**: Once finalized, the transaction is broadcast to the Grin node. | ||
|
||
|
||
|
||
## APIs for MWC Integration | ||
|
||
MWC provides a robust set of APIs to manage wallets, transactions, and blockchain interactions. These APIs include: | ||
|
||
- **Owner API**: For internal wallet operations like initiating transactions and querying balances. | ||
- **Foreign API**: For handling external interactions, such as receiving and finalizing transactions. | ||
|
||
For detailed API methods, examples, and parameter descriptions, visit the official [docs.rs MWC API documentation](https://docs.rs/). | ||
|
||
|
||
|
||
## Tips for Developers | ||
|
||
1. **Synchronization**: Always ensure your MWC node is fully synced with the blockchain before initiating transactions. | ||
2. **Error Handling**: Implement proper error-handling mechanisms for API interactions. | ||
3. **Security**: Safeguard API tokens and use encrypted channels for data exchange. | ||
4. **Testing**: Use a testnet environment to validate your implementation before deploying on the mainnet. | ||
|
||
|
||
|
||
## Learn More | ||
|
||
To dive deeper into MWC’s architecture and explore advanced use cases, check out: | ||
|
||
- **MWC Wallet Documentation**: For detailed wallet setup and usage. | ||
- **MWC GitHub Repository**: Access open-source code, tools, and updates. | ||
- **MWC Community**: Join forums and discussions to stay updated and get support. | ||
|
||
|
||
|
||
Start building with MWC today and explore the possibilities of private, scalable, and secure digital transactions. Happy developing! |
Oops, something went wrong.