Skip to content

Commit

Permalink
integration docs
Browse files Browse the repository at this point in the history
  • Loading branch information
vekamo committed Nov 26, 2024
1 parent dc58bec commit a34d8bb
Show file tree
Hide file tree
Showing 96 changed files with 630 additions and 689 deletions.
Empty file modified .github/workflows/deploy.yml
100644 → 100755
Empty file.
Empty file modified .gitignore
100644 → 100755
Empty file.
15 changes: 8 additions & 7 deletions .vitepress/config.mts
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -54,13 +54,14 @@ function nav() {
{
text: "Quick start",
items: [
{ text: "Nodes", link: "/nodes/overview" },
{ text: "Wallet", link: "/nodes/overview" },
{ text: "Miners", link: "/miners/overview" },
{ text: "Nodes", link: "/nodes/introduction" },
{ text: "Wallet", link: "/wallets/introduction" },
{ text: "Miners", link: "/miners/introduction" },
{ text: "Developers", link: "developers/get-started" },

],
},
{
/*{
text: "Join the network",
items: [
{
Expand All @@ -77,7 +78,7 @@ function nav() {
{ text: "Community", link: "/community/overview" },
],
},
},*/
];
}

Expand Down Expand Up @@ -540,7 +541,7 @@ function sidebarHome() {
text: "Learn",
collapsed: true,
items: [
{
/*{
text: "Integration",
collapsed: true,
items: [
Expand All @@ -558,7 +559,7 @@ function sidebarHome() {
},
{ text: "Mining Pool", link: "/developers/integration/mining-pool"},
],
},
},*/
],
},
];
Expand Down
Empty file modified .vitepress/theme/index.ts
100644 → 100755
Empty file.
Empty file modified .vitepress/theme/style.css
100644 → 100755
Empty file.
Empty file modified LICENSE
100644 → 100755
Empty file.
Empty file modified README.md
100644 → 100755
Empty file.
Empty file modified api-examples.md
100644 → 100755
Empty file.
Empty file modified developers/api.md
100644 → 100755
Empty file.
Empty file modified developers/api/node.md
100644 → 100755
Empty file.
Empty file modified developers/api/stratum.md
100644 → 100755
Empty file.
Empty file modified developers/api/wallet.md
100644 → 100755
Empty file.
58 changes: 0 additions & 58 deletions developers/commands.md

This file was deleted.

113 changes: 78 additions & 35 deletions developers/get-started.md
100644 → 100755
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!
Loading

0 comments on commit a34d8bb

Please sign in to comment.