Skip to content

Latest commit

History

16 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

BitNav - Cryptocurrency Payment Library

BitNav is a .NET 6 library for handling and managing cryptocurrency payments, initially focusing on Bitcoin. This library provides a set of classes and methods to facilitate the creation, monitoring, and confirmation of transactions.

Table of Contents


Installation

To use BitNav in your C# project, follow these steps:

  1. Download the latest release from the GitHub repository.
  2. Install the dependency NBitcoin
  3. Add the downloaded DLL file to your project's references.
  4. Import the necessary namespaces:
usingBitNav;

Usage

Bitcoin Class

The Bitcoin class provides functionalities related to Bitcoin transactions and addresses.

Constructor

publicBitcoin(string privateKey,string givenAddress =null)
  • privateKey: The private key associated with the Bitcoin address.
  • givenAddress: (Optional) A specific Bitcoin address. If not provided, a new address will be generated using the private key.

Methods

  • string GetAddress(): Returns the Bitcoin address associated with the instance.

  • static long ConvertBitcoinToSatoshis(double bitcoinAmount): Converts a Bitcoin amount to satoshis.

Transaction Class

The Transaction class handles cryptocurrency transactions.

Constructor

publicTransaction(object coin,double amount,string address)
  • coin: The cryptocurrency object (e.g., Bitcoin) associated with the transaction.
  • amount: The amount of cryptocurrency to be received.
  • address: Address to receive the cryptocurrency.

Methods

  • bool checkTransactionReceived(): Checks if the transaction has been received.

  • bool checkTransactionConfirmed(): Checks if the transaction has been confirmed.

  • string getTransactionHash(): Returns the transaction hash.

  • string getReceiverAddress(): Returns the recipient's address.

  • long getCreationTime(): Returns the transaction's creation time in Unix timestamp.

  • long getReceivedTime(): Returns the time when the transaction was received in Unix timestamp.

  • long getConfirmationTime(): Returns the time when the transaction was confirmed in Unix timestamp.

  • double getAmount(): Returns the amount of cryptocurrency involved in the transaction.

  • object getCoin(): Returns the cryptocurrency object associated with the transaction.

TransactionManager Class

The TransactionManager class manages a list of transactions, and will check if they're received or confirmed every 2 minutes in the background.

Constructor

publicTransactionManager()

Methods

  • Transaction CreateTransaction(object coin, double amount, string address): Creates a new transaction.

  • void AddTransaction(Transaction transaction): Adds an existing transaction to the manager.

  • void RemoveTransaction(Transaction transaction): Removes a transaction from the manager.

  • List<Transaction> GetTransactions(): Returns the list of all transactions.

Events

Each instance of the Transaction.cs object is equipped with both TransactionReceived and TransactionConfirmed events, which can be subscribed to. These events are automatically triggered when a TransactionManager is active in the background, and the corresponding Transaction is managed within it.

TransactionReceived Event

The TransactionReceived event is triggered when the transaction is received to the address.

Syntax

publiceventEventHandler<TransactionEventArgs> TransactionReceived;

Usage

// Subscribe to the TransactionReceived eventtransaction.TransactionReceived+=HandleTransactionReceived;// Event handler methodprivatevoidHandleTransactionReceived(objectsender,TransactionEventArgse){TransactionreceivedTransaction=e.Transaction;// Add custom logic to handle the received transaction}

TransactionConfirmed Event

The TransactionConfirmed event is triggered when the transaction is confirmed on the blockchain.

Syntax

publiceventEventHandler<TransactionEventArgs> TransactionConfirmed;

Usage

// Subscribe to the TransactionConfirmed eventtransaction.TransactionConfirmed+=HandleTransactionConfirmed;// Event handler methodprivatevoidHandleTransactionConfirmed(objectsender,TransactionEventArgse){TransactionconfirmedTransaction=e.Transaction;// Add custom logic to handle the confirmed transaction}

Examples

Here's an example of how to use BitNav to create and manage a Bitcoin transaction:

// Initialize the Bitcoin object with a private keyBitcoinbitcoin=newBitcoin("your_private_key");// Generate a new Bitcoin addressstringrecipientAddress=bitcoin.GetAddress();// Create a transaction managerTransactionManagermanager=newTransactionManager();// Create a new Bitcoin transactionTransactiontransaction=manager.CreateTransaction(bitcoin,0.1,recipientAddress);// Check if the transaction has been receivedboolreceived=transaction.checkTransactionReceived();if(received){// Transaction has been received, check if it's confirmedboolconfirmed=transaction.checkTransactionConfirmed();if(confirmed){Console.WriteLine("Transaction confirmed!");}else{Console.WriteLine("Transaction received but not yet confirmed.");}}else{Console.WriteLine("Transaction not yet received.");}

Acknowledgements

This project is built using the NBitcoin library. Additionally, it utilizes the BlockCypher API for blockchain interaction.


Note: NBitcoin is a comprehensive Bitcoin library for the .NET platform, and BlockCypher provides a range of blockchain services and APIs.

About

.NET 6 library for accepting and managing crypto payments

Topics

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
GitHub - km/BitNav: .NET 6 library for accepting and managing crypto payments · GitHub
Skip to content

Latest commit

History

16 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

BitNav - Cryptocurrency Payment Library

BitNav is a .NET 6 library for handling and managing cryptocurrency payments, initially focusing on Bitcoin. This library provides a set of classes and methods to facilitate the creation, monitoring, and confirmation of transactions.

Table of Contents


Installation

To use BitNav in your C# project, follow these steps:

  1. Download the latest release from the GitHub repository.
  2. Install the dependency NBitcoin
  3. Add the downloaded DLL file to your project's references.
  4. Import the necessary namespaces:
usingBitNav;

Usage

Bitcoin Class

The Bitcoin class provides functionalities related to Bitcoin transactions and addresses.

Constructor

publicBitcoin(string privateKey,string givenAddress =null)
  • privateKey: The private key associated with the Bitcoin address.
  • givenAddress: (Optional) A specific Bitcoin address. If not provided, a new address will be generated using the private key.

Methods

  • string GetAddress(): Returns the Bitcoin address associated with the instance.

  • static long ConvertBitcoinToSatoshis(double bitcoinAmount): Converts a Bitcoin amount to satoshis.

Transaction Class

The Transaction class handles cryptocurrency transactions.

Constructor

publicTransaction(object coin,double amount,string address)
  • coin: The cryptocurrency object (e.g., Bitcoin) associated with the transaction.
  • amount: The amount of cryptocurrency to be received.
  • address: Address to receive the cryptocurrency.

Methods

  • bool checkTransactionReceived(): Checks if the transaction has been received.

  • bool checkTransactionConfirmed(): Checks if the transaction has been confirmed.

  • string getTransactionHash(): Returns the transaction hash.

  • string getReceiverAddress(): Returns the recipient's address.

  • long getCreationTime(): Returns the transaction's creation time in Unix timestamp.

  • long getReceivedTime(): Returns the time when the transaction was received in Unix timestamp.

  • long getConfirmationTime(): Returns the time when the transaction was confirmed in Unix timestamp.

  • double getAmount(): Returns the amount of cryptocurrency involved in the transaction.

  • object getCoin(): Returns the cryptocurrency object associated with the transaction.

TransactionManager Class

The TransactionManager class manages a list of transactions, and will check if they're received or confirmed every 2 minutes in the background.

Constructor

publicTransactionManager()

Methods

  • Transaction CreateTransaction(object coin, double amount, string address): Creates a new transaction.

  • void AddTransaction(Transaction transaction): Adds an existing transaction to the manager.

  • void RemoveTransaction(Transaction transaction): Removes a transaction from the manager.

  • List<Transaction> GetTransactions(): Returns the list of all transactions.

Events

Each instance of the Transaction.cs object is equipped with both TransactionReceived and TransactionConfirmed events, which can be subscribed to. These events are automatically triggered when a TransactionManager is active in the background, and the corresponding Transaction is managed within it.

TransactionReceived Event

The TransactionReceived event is triggered when the transaction is received to the address.

Syntax

publiceventEventHandler<TransactionEventArgs> TransactionReceived;

Usage

// Subscribe to the TransactionReceived eventtransaction.TransactionReceived+=HandleTransactionReceived;// Event handler methodprivatevoidHandleTransactionReceived(objectsender,TransactionEventArgse){TransactionreceivedTransaction=e.Transaction;// Add custom logic to handle the received transaction}

TransactionConfirmed Event

The TransactionConfirmed event is triggered when the transaction is confirmed on the blockchain.

Syntax

publiceventEventHandler<TransactionEventArgs> TransactionConfirmed;

Usage

// Subscribe to the TransactionConfirmed eventtransaction.TransactionConfirmed+=HandleTransactionConfirmed;// Event handler methodprivatevoidHandleTransactionConfirmed(objectsender,TransactionEventArgse){TransactionconfirmedTransaction=e.Transaction;// Add custom logic to handle the confirmed transaction}

Examples

Here's an example of how to use BitNav to create and manage a Bitcoin transaction:

// Initialize the Bitcoin object with a private keyBitcoinbitcoin=newBitcoin("your_private_key");// Generate a new Bitcoin addressstringrecipientAddress=bitcoin.GetAddress();// Create a transaction managerTransactionManagermanager=newTransactionManager();// Create a new Bitcoin transactionTransactiontransaction=manager.CreateTransaction(bitcoin,0.1,recipientAddress);// Check if the transaction has been receivedboolreceived=transaction.checkTransactionReceived();if(received){// Transaction has been received, check if it's confirmedboolconfirmed=transaction.checkTransactionConfirmed();if(confirmed){Console.WriteLine("Transaction confirmed!");}else{Console.WriteLine("Transaction received but not yet confirmed.");}}else{Console.WriteLine("Transaction not yet received.");}

Acknowledgements

This project is built using the NBitcoin library. Additionally, it utilizes the BlockCypher API for blockchain interaction.


Note: NBitcoin is a comprehensive Bitcoin library for the .NET platform, and BlockCypher provides a range of blockchain services and APIs.

About

.NET 6 library for accepting and managing crypto payments

Topics

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - km/BitNav: .NET 6 library for accepting and managing crypto payments · GitHub
Skip to content

Latest commit

History

16 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

BitNav - Cryptocurrency Payment Library

BitNav is a .NET 6 library for handling and managing cryptocurrency payments, initially focusing on Bitcoin. This library provides a set of classes and methods to facilitate the creation, monitoring, and confirmation of transactions.

Table of Contents


Installation

To use BitNav in your C# project, follow these steps:

  1. Download the latest release from the GitHub repository.
  2. Install the dependency NBitcoin
  3. Add the downloaded DLL file to your project's references.
  4. Import the necessary namespaces:
usingBitNav;

Usage

Bitcoin Class

The Bitcoin class provides functionalities related to Bitcoin transactions and addresses.

Constructor

publicBitcoin(string privateKey,string givenAddress =null)
  • privateKey: The private key associated with the Bitcoin address.
  • givenAddress: (Optional) A specific Bitcoin address. If not provided, a new address will be generated using the private key.

Methods

  • string GetAddress(): Returns the Bitcoin address associated with the instance.

  • static long ConvertBitcoinToSatoshis(double bitcoinAmount): Converts a Bitcoin amount to satoshis.

Transaction Class

The Transaction class handles cryptocurrency transactions.

Constructor

publicTransaction(object coin,double amount,string address)
  • coin: The cryptocurrency object (e.g., Bitcoin) associated with the transaction.
  • amount: The amount of cryptocurrency to be received.
  • address: Address to receive the cryptocurrency.

Methods

  • bool checkTransactionReceived(): Checks if the transaction has been received.

  • bool checkTransactionConfirmed(): Checks if the transaction has been confirmed.

  • string getTransactionHash(): Returns the transaction hash.

  • string getReceiverAddress(): Returns the recipient's address.

  • long getCreationTime(): Returns the transaction's creation time in Unix timestamp.

  • long getReceivedTime(): Returns the time when the transaction was received in Unix timestamp.

  • long getConfirmationTime(): Returns the time when the transaction was confirmed in Unix timestamp.

  • double getAmount(): Returns the amount of cryptocurrency involved in the transaction.

  • object getCoin(): Returns the cryptocurrency object associated with the transaction.

TransactionManager Class

The TransactionManager class manages a list of transactions, and will check if they're received or confirmed every 2 minutes in the background.

Constructor

publicTransactionManager()

Methods

  • Transaction CreateTransaction(object coin, double amount, string address): Creates a new transaction.

  • void AddTransaction(Transaction transaction): Adds an existing transaction to the manager.

  • void RemoveTransaction(Transaction transaction): Removes a transaction from the manager.

  • List<Transaction> GetTransactions(): Returns the list of all transactions.

Events

Each instance of the Transaction.cs object is equipped with both TransactionReceived and TransactionConfirmed events, which can be subscribed to. These events are automatically triggered when a TransactionManager is active in the background, and the corresponding Transaction is managed within it.

TransactionReceived Event

The TransactionReceived event is triggered when the transaction is received to the address.

Syntax

publiceventEventHandler<TransactionEventArgs> TransactionReceived;

Usage

// Subscribe to the TransactionReceived eventtransaction.TransactionReceived+=HandleTransactionReceived;// Event handler methodprivatevoidHandleTransactionReceived(objectsender,TransactionEventArgse){TransactionreceivedTransaction=e.Transaction;// Add custom logic to handle the received transaction}

TransactionConfirmed Event

The TransactionConfirmed event is triggered when the transaction is confirmed on the blockchain.

Syntax

publiceventEventHandler<TransactionEventArgs> TransactionConfirmed;

Usage

// Subscribe to the TransactionConfirmed eventtransaction.TransactionConfirmed+=HandleTransactionConfirmed;// Event handler methodprivatevoidHandleTransactionConfirmed(objectsender,TransactionEventArgse){TransactionconfirmedTransaction=e.Transaction;// Add custom logic to handle the confirmed transaction}

Examples

Here's an example of how to use BitNav to create and manage a Bitcoin transaction:

// Initialize the Bitcoin object with a private keyBitcoinbitcoin=newBitcoin("your_private_key");// Generate a new Bitcoin addressstringrecipientAddress=bitcoin.GetAddress();// Create a transaction managerTransactionManagermanager=newTransactionManager();// Create a new Bitcoin transactionTransactiontransaction=manager.CreateTransaction(bitcoin,0.1,recipientAddress);// Check if the transaction has been receivedboolreceived=transaction.checkTransactionReceived();if(received){// Transaction has been received, check if it's confirmedboolconfirmed=transaction.checkTransactionConfirmed();if(confirmed){Console.WriteLine("Transaction confirmed!");}else{Console.WriteLine("Transaction received but not yet confirmed.");}}else{Console.WriteLine("Transaction not yet received.");}

Acknowledgements

This project is built using the NBitcoin library. Additionally, it utilizes the BlockCypher API for blockchain interaction.


Note: NBitcoin is a comprehensive Bitcoin library for the .NET platform, and BlockCypher provides a range of blockchain services and APIs.

About

.NET 6 library for accepting and managing crypto payments

Topics

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - km/BitNav: .NET 6 library for accepting and managing crypto payments · GitHub
Skip to content

Latest commit

History

16 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

BitNav - Cryptocurrency Payment Library

BitNav is a .NET 6 library for handling and managing cryptocurrency payments, initially focusing on Bitcoin. This library provides a set of classes and methods to facilitate the creation, monitoring, and confirmation of transactions.

Table of Contents


Installation

To use BitNav in your C# project, follow these steps:

  1. Download the latest release from the GitHub repository.
  2. Install the dependency NBitcoin
  3. Add the downloaded DLL file to your project's references.
  4. Import the necessary namespaces:
usingBitNav;

Usage

Bitcoin Class

The Bitcoin class provides functionalities related to Bitcoin transactions and addresses.

Constructor

publicBitcoin(string privateKey,string givenAddress =null)
  • privateKey: The private key associated with the Bitcoin address.
  • givenAddress: (Optional) A specific Bitcoin address. If not provided, a new address will be generated using the private key.

Methods

  • string GetAddress(): Returns the Bitcoin address associated with the instance.

  • static long ConvertBitcoinToSatoshis(double bitcoinAmount): Converts a Bitcoin amount to satoshis.

Transaction Class

The Transaction class handles cryptocurrency transactions.

Constructor

publicTransaction(object coin,double amount,string address)
  • coin: The cryptocurrency object (e.g., Bitcoin) associated with the transaction.
  • amount: The amount of cryptocurrency to be received.
  • address: Address to receive the cryptocurrency.

Methods

  • bool checkTransactionReceived(): Checks if the transaction has been received.

  • bool checkTransactionConfirmed(): Checks if the transaction has been confirmed.

  • string getTransactionHash(): Returns the transaction hash.

  • string getReceiverAddress(): Returns the recipient's address.

  • long getCreationTime(): Returns the transaction's creation time in Unix timestamp.

  • long getReceivedTime(): Returns the time when the transaction was received in Unix timestamp.

  • long getConfirmationTime(): Returns the time when the transaction was confirmed in Unix timestamp.

  • double getAmount(): Returns the amount of cryptocurrency involved in the transaction.

  • object getCoin(): Returns the cryptocurrency object associated with the transaction.

TransactionManager Class

The TransactionManager class manages a list of transactions, and will check if they're received or confirmed every 2 minutes in the background.

Constructor

publicTransactionManager()

Methods

  • Transaction CreateTransaction(object coin, double amount, string address): Creates a new transaction.

  • void AddTransaction(Transaction transaction): Adds an existing transaction to the manager.

  • void RemoveTransaction(Transaction transaction): Removes a transaction from the manager.

  • List<Transaction> GetTransactions(): Returns the list of all transactions.

Events

Each instance of the Transaction.cs object is equipped with both TransactionReceived and TransactionConfirmed events, which can be subscribed to. These events are automatically triggered when a TransactionManager is active in the background, and the corresponding Transaction is managed within it.

TransactionReceived Event

The TransactionReceived event is triggered when the transaction is received to the address.

Syntax

publiceventEventHandler<TransactionEventArgs> TransactionReceived;

Usage

// Subscribe to the TransactionReceived eventtransaction.TransactionReceived+=HandleTransactionReceived;// Event handler methodprivatevoidHandleTransactionReceived(objectsender,TransactionEventArgse){TransactionreceivedTransaction=e.Transaction;// Add custom logic to handle the received transaction}

TransactionConfirmed Event

The TransactionConfirmed event is triggered when the transaction is confirmed on the blockchain.

Syntax

publiceventEventHandler<TransactionEventArgs> TransactionConfirmed;

Usage

// Subscribe to the TransactionConfirmed eventtransaction.TransactionConfirmed+=HandleTransactionConfirmed;// Event handler methodprivatevoidHandleTransactionConfirmed(objectsender,TransactionEventArgse){TransactionconfirmedTransaction=e.Transaction;// Add custom logic to handle the confirmed transaction}

Examples

Here's an example of how to use BitNav to create and manage a Bitcoin transaction:

// Initialize the Bitcoin object with a private keyBitcoinbitcoin=newBitcoin("your_private_key");// Generate a new Bitcoin addressstringrecipientAddress=bitcoin.GetAddress();// Create a transaction managerTransactionManagermanager=newTransactionManager();// Create a new Bitcoin transactionTransactiontransaction=manager.CreateTransaction(bitcoin,0.1,recipientAddress);// Check if the transaction has been receivedboolreceived=transaction.checkTransactionReceived();if(received){// Transaction has been received, check if it's confirmedboolconfirmed=transaction.checkTransactionConfirmed();if(confirmed){Console.WriteLine("Transaction confirmed!");}else{Console.WriteLine("Transaction received but not yet confirmed.");}}else{Console.WriteLine("Transaction not yet received.");}

Acknowledgements

This project is built using the NBitcoin library. Additionally, it utilizes the BlockCypher API for blockchain interaction.


Note: NBitcoin is a comprehensive Bitcoin library for the .NET platform, and BlockCypher provides a range of blockchain services and APIs.

About

.NET 6 library for accepting and managing crypto payments

Topics

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ' GitHub - km/BitNav: .NET 6 library for accepting and managing crypto payments · GitHub
Skip to content

Latest commit

History

16 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

BitNav - Cryptocurrency Payment Library

BitNav is a .NET 6 library for handling and managing cryptocurrency payments, initially focusing on Bitcoin. This library provides a set of classes and methods to facilitate the creation, monitoring, and confirmation of transactions.

Table of Contents


Installation

To use BitNav in your C# project, follow these steps:

  1. Download the latest release from the GitHub repository.
  2. Install the dependency NBitcoin
  3. Add the downloaded DLL file to your project's references.
  4. Import the necessary namespaces:
usingBitNav;

Usage

Bitcoin Class

The Bitcoin class provides functionalities related to Bitcoin transactions and addresses.

Constructor

publicBitcoin(string privateKey,string givenAddress =null)
  • privateKey: The private key associated with the Bitcoin address.
  • givenAddress: (Optional) A specific Bitcoin address. If not provided, a new address will be generated using the private key.

Methods

  • string GetAddress(): Returns the Bitcoin address associated with the instance.

  • static long ConvertBitcoinToSatoshis(double bitcoinAmount): Converts a Bitcoin amount to satoshis.

Transaction Class

The Transaction class handles cryptocurrency transactions.

Constructor

publicTransaction(object coin,double amount,string address)
  • coin: The cryptocurrency object (e.g., Bitcoin) associated with the transaction.
  • amount: The amount of cryptocurrency to be received.
  • address: Address to receive the cryptocurrency.

Methods

  • bool checkTransactionReceived(): Checks if the transaction has been received.

  • bool checkTransactionConfirmed(): Checks if the transaction has been confirmed.

  • string getTransactionHash(): Returns the transaction hash.

  • string getReceiverAddress(): Returns the recipient's address.

  • long getCreationTime(): Returns the transaction's creation time in Unix timestamp.

  • long getReceivedTime(): Returns the time when the transaction was received in Unix timestamp.

  • long getConfirmationTime(): Returns the time when the transaction was confirmed in Unix timestamp.

  • double getAmount(): Returns the amount of cryptocurrency involved in the transaction.

  • object getCoin(): Returns the cryptocurrency object associated with the transaction.

TransactionManager Class

The TransactionManager class manages a list of transactions, and will check if they're received or confirmed every 2 minutes in the background.

Constructor

publicTransactionManager()

Methods

  • Transaction CreateTransaction(object coin, double amount, string address): Creates a new transaction.

  • void AddTransaction(Transaction transaction): Adds an existing transaction to the manager.

  • void RemoveTransaction(Transaction transaction): Removes a transaction from the manager.

  • List<Transaction> GetTransactions(): Returns the list of all transactions.

Events

Each instance of the Transaction.cs object is equipped with both TransactionReceived and TransactionConfirmed events, which can be subscribed to. These events are automatically triggered when a TransactionManager is active in the background, and the corresponding Transaction is managed within it.

TransactionReceived Event

The TransactionReceived event is triggered when the transaction is received to the address.

Syntax

publiceventEventHandler<TransactionEventArgs> TransactionReceived;

Usage

// Subscribe to the TransactionReceived eventtransaction.TransactionReceived+=HandleTransactionReceived;// Event handler methodprivatevoidHandleTransactionReceived(objectsender,TransactionEventArgse){TransactionreceivedTransaction=e.Transaction;// Add custom logic to handle the received transaction}

TransactionConfirmed Event

The TransactionConfirmed event is triggered when the transaction is confirmed on the blockchain.

Syntax

publiceventEventHandler<TransactionEventArgs> TransactionConfirmed;

Usage

// Subscribe to the TransactionConfirmed eventtransaction.TransactionConfirmed+=HandleTransactionConfirmed;// Event handler methodprivatevoidHandleTransactionConfirmed(objectsender,TransactionEventArgse){TransactionconfirmedTransaction=e.Transaction;// Add custom logic to handle the confirmed transaction}

Examples

Here's an example of how to use BitNav to create and manage a Bitcoin transaction:

// Initialize the Bitcoin object with a private keyBitcoinbitcoin=newBitcoin("your_private_key");// Generate a new Bitcoin addressstringrecipientAddress=bitcoin.GetAddress();// Create a transaction managerTransactionManagermanager=newTransactionManager();// Create a new Bitcoin transactionTransactiontransaction=manager.CreateTransaction(bitcoin,0.1,recipientAddress);// Check if the transaction has been receivedboolreceived=transaction.checkTransactionReceived();if(received){// Transaction has been received, check if it's confirmedboolconfirmed=transaction.checkTransactionConfirmed();if(confirmed){Console.WriteLine("Transaction confirmed!");}else{Console.WriteLine("Transaction received but not yet confirmed.");}}else{Console.WriteLine("Transaction not yet received.");}

Acknowledgements

This project is built using the NBitcoin library. Additionally, it utilizes the BlockCypher API for blockchain interaction.


Note: NBitcoin is a comprehensive Bitcoin library for the .NET platform, and BlockCypher provides a range of blockchain services and APIs.

About

.NET 6 library for accepting and managing crypto payments

Topics

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - km/BitNav: .NET 6 library for accepting and managing crypto payments · GitHub
Skip to content

Latest commit

History

16 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

BitNav - Cryptocurrency Payment Library

BitNav is a .NET 6 library for handling and managing cryptocurrency payments, initially focusing on Bitcoin. This library provides a set of classes and methods to facilitate the creation, monitoring, and confirmation of transactions.

Table of Contents


Installation

To use BitNav in your C# project, follow these steps:

  1. Download the latest release from the GitHub repository.
  2. Install the dependency NBitcoin
  3. Add the downloaded DLL file to your project's references.
  4. Import the necessary namespaces:
usingBitNav;

Usage

Bitcoin Class

The Bitcoin class provides functionalities related to Bitcoin transactions and addresses.

Constructor

publicBitcoin(string privateKey,string givenAddress =null)
  • privateKey: The private key associated with the Bitcoin address.
  • givenAddress: (Optional) A specific Bitcoin address. If not provided, a new address will be generated using the private key.

Methods

  • string GetAddress(): Returns the Bitcoin address associated with the instance.

  • static long ConvertBitcoinToSatoshis(double bitcoinAmount): Converts a Bitcoin amount to satoshis.

Transaction Class

The Transaction class handles cryptocurrency transactions.

Constructor

publicTransaction(object coin,double amount,string address)
  • coin: The cryptocurrency object (e.g., Bitcoin) associated with the transaction.
  • amount: The amount of cryptocurrency to be received.
  • address: Address to receive the cryptocurrency.

Methods

  • bool checkTransactionReceived(): Checks if the transaction has been received.

  • bool checkTransactionConfirmed(): Checks if the transaction has been confirmed.

  • string getTransactionHash(): Returns the transaction hash.

  • string getReceiverAddress(): Returns the recipient's address.

  • long getCreationTime(): Returns the transaction's creation time in Unix timestamp.

  • long getReceivedTime(): Returns the time when the transaction was received in Unix timestamp.

  • long getConfirmationTime(): Returns the time when the transaction was confirmed in Unix timestamp.

  • double getAmount(): Returns the amount of cryptocurrency involved in the transaction.

  • object getCoin(): Returns the cryptocurrency object associated with the transaction.

TransactionManager Class

The TransactionManager class manages a list of transactions, and will check if they're received or confirmed every 2 minutes in the background.

Constructor

publicTransactionManager()

Methods

  • Transaction CreateTransaction(object coin, double amount, string address): Creates a new transaction.

  • void AddTransaction(Transaction transaction): Adds an existing transaction to the manager.

  • void RemoveTransaction(Transaction transaction): Removes a transaction from the manager.

  • List<Transaction> GetTransactions(): Returns the list of all transactions.

Events

Each instance of the Transaction.cs object is equipped with both TransactionReceived and TransactionConfirmed events, which can be subscribed to. These events are automatically triggered when a TransactionManager is active in the background, and the corresponding Transaction is managed within it.

TransactionReceived Event

The TransactionReceived event is triggered when the transaction is received to the address.

Syntax

publiceventEventHandler<TransactionEventArgs> TransactionReceived;

Usage

// Subscribe to the TransactionReceived eventtransaction.TransactionReceived+=HandleTransactionReceived;// Event handler methodprivatevoidHandleTransactionReceived(objectsender,TransactionEventArgse){TransactionreceivedTransaction=e.Transaction;// Add custom logic to handle the received transaction}

TransactionConfirmed Event

The TransactionConfirmed event is triggered when the transaction is confirmed on the blockchain.

Syntax

publiceventEventHandler<TransactionEventArgs> TransactionConfirmed;

Usage

// Subscribe to the TransactionConfirmed eventtransaction.TransactionConfirmed+=HandleTransactionConfirmed;// Event handler methodprivatevoidHandleTransactionConfirmed(objectsender,TransactionEventArgse){TransactionconfirmedTransaction=e.Transaction;// Add custom logic to handle the confirmed transaction}

Examples

Here's an example of how to use BitNav to create and manage a Bitcoin transaction:

// Initialize the Bitcoin object with a private keyBitcoinbitcoin=newBitcoin("your_private_key");// Generate a new Bitcoin addressstringrecipientAddress=bitcoin.GetAddress();// Create a transaction managerTransactionManagermanager=newTransactionManager();// Create a new Bitcoin transactionTransactiontransaction=manager.CreateTransaction(bitcoin,0.1,recipientAddress);// Check if the transaction has been receivedboolreceived=transaction.checkTransactionReceived();if(received){// Transaction has been received, check if it's confirmedboolconfirmed=transaction.checkTransactionConfirmed();if(confirmed){Console.WriteLine("Transaction confirmed!");}else{Console.WriteLine("Transaction received but not yet confirmed.");}}else{Console.WriteLine("Transaction not yet received.");}

Acknowledgements

This project is built using the NBitcoin library. Additionally, it utilizes the BlockCypher API for blockchain interaction.


Note: NBitcoin is a comprehensive Bitcoin library for the .NET platform, and BlockCypher provides a range of blockchain services and APIs.

About

.NET 6 library for accepting and managing crypto payments

Topics

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - km/BitNav: .NET 6 library for accepting and managing crypto payments · GitHub
Skip to content

Latest commit

History

16 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

BitNav - Cryptocurrency Payment Library

BitNav is a .NET 6 library for handling and managing cryptocurrency payments, initially focusing on Bitcoin. This library provides a set of classes and methods to facilitate the creation, monitoring, and confirmation of transactions.

Table of Contents


Installation

To use BitNav in your C# project, follow these steps:

  1. Download the latest release from the GitHub repository.
  2. Install the dependency NBitcoin
  3. Add the downloaded DLL file to your project's references.
  4. Import the necessary namespaces:
usingBitNav;

Usage

Bitcoin Class

The Bitcoin class provides functionalities related to Bitcoin transactions and addresses.

Constructor

publicBitcoin(string privateKey,string givenAddress =null)
  • privateKey: The private key associated with the Bitcoin address.
  • givenAddress: (Optional) A specific Bitcoin address. If not provided, a new address will be generated using the private key.

Methods

  • string GetAddress(): Returns the Bitcoin address associated with the instance.

  • static long ConvertBitcoinToSatoshis(double bitcoinAmount): Converts a Bitcoin amount to satoshis.

Transaction Class

The Transaction class handles cryptocurrency transactions.

Constructor

publicTransaction(object coin,double amount,string address)
  • coin: The cryptocurrency object (e.g., Bitcoin) associated with the transaction.
  • amount: The amount of cryptocurrency to be received.
  • address: Address to receive the cryptocurrency.

Methods

  • bool checkTransactionReceived(): Checks if the transaction has been received.

  • bool checkTransactionConfirmed(): Checks if the transaction has been confirmed.

  • string getTransactionHash(): Returns the transaction hash.

  • string getReceiverAddress(): Returns the recipient's address.

  • long getCreationTime(): Returns the transaction's creation time in Unix timestamp.

  • long getReceivedTime(): Returns the time when the transaction was received in Unix timestamp.

  • long getConfirmationTime(): Returns the time when the transaction was confirmed in Unix timestamp.

  • double getAmount(): Returns the amount of cryptocurrency involved in the transaction.

  • object getCoin(): Returns the cryptocurrency object associated with the transaction.

TransactionManager Class

The TransactionManager class manages a list of transactions, and will check if they're received or confirmed every 2 minutes in the background.

Constructor

publicTransactionManager()

Methods

  • Transaction CreateTransaction(object coin, double amount, string address): Creates a new transaction.

  • void AddTransaction(Transaction transaction): Adds an existing transaction to the manager.

  • void RemoveTransaction(Transaction transaction): Removes a transaction from the manager.

  • List<Transaction> GetTransactions(): Returns the list of all transactions.

Events

Each instance of the Transaction.cs object is equipped with both TransactionReceived and TransactionConfirmed events, which can be subscribed to. These events are automatically triggered when a TransactionManager is active in the background, and the corresponding Transaction is managed within it.

TransactionReceived Event

The TransactionReceived event is triggered when the transaction is received to the address.

Syntax

publiceventEventHandler<TransactionEventArgs> TransactionReceived;

Usage

// Subscribe to the TransactionReceived eventtransaction.TransactionReceived+=HandleTransactionReceived;// Event handler methodprivatevoidHandleTransactionReceived(objectsender,TransactionEventArgse){TransactionreceivedTransaction=e.Transaction;// Add custom logic to handle the received transaction}

TransactionConfirmed Event

The TransactionConfirmed event is triggered when the transaction is confirmed on the blockchain.

Syntax

publiceventEventHandler<TransactionEventArgs> TransactionConfirmed;

Usage

// Subscribe to the TransactionConfirmed eventtransaction.TransactionConfirmed+=HandleTransactionConfirmed;// Event handler methodprivatevoidHandleTransactionConfirmed(objectsender,TransactionEventArgse){TransactionconfirmedTransaction=e.Transaction;// Add custom logic to handle the confirmed transaction}

Examples

Here's an example of how to use BitNav to create and manage a Bitcoin transaction:

// Initialize the Bitcoin object with a private keyBitcoinbitcoin=newBitcoin("your_private_key");// Generate a new Bitcoin addressstringrecipientAddress=bitcoin.GetAddress();// Create a transaction managerTransactionManagermanager=newTransactionManager();// Create a new Bitcoin transactionTransactiontransaction=manager.CreateTransaction(bitcoin,0.1,recipientAddress);// Check if the transaction has been receivedboolreceived=transaction.checkTransactionReceived();if(received){// Transaction has been received, check if it's confirmedboolconfirmed=transaction.checkTransactionConfirmed();if(confirmed){Console.WriteLine("Transaction confirmed!");}else{Console.WriteLine("Transaction received but not yet confirmed.");}}else{Console.WriteLine("Transaction not yet received.");}

Acknowledgements

This project is built using the NBitcoin library. Additionally, it utilizes the BlockCypher API for blockchain interaction.


Note: NBitcoin is a comprehensive Bitcoin library for the .NET platform, and BlockCypher provides a range of blockchain services and APIs.

About

.NET 6 library for accepting and managing crypto payments

Topics

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })(); GitHub - km/BitNav: .NET 6 library for accepting and managing crypto payments · GitHub
Skip to content

Latest commit

History

16 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

BitNav - Cryptocurrency Payment Library

BitNav is a .NET 6 library for handling and managing cryptocurrency payments, initially focusing on Bitcoin. This library provides a set of classes and methods to facilitate the creation, monitoring, and confirmation of transactions.

Table of Contents


Installation

To use BitNav in your C# project, follow these steps:

  1. Download the latest release from the GitHub repository.
  2. Install the dependency NBitcoin
  3. Add the downloaded DLL file to your project's references.
  4. Import the necessary namespaces:
usingBitNav;

Usage

Bitcoin Class

The Bitcoin class provides functionalities related to Bitcoin transactions and addresses.

Constructor

publicBitcoin(string privateKey,string givenAddress =null)
  • privateKey: The private key associated with the Bitcoin address.
  • givenAddress: (Optional) A specific Bitcoin address. If not provided, a new address will be generated using the private key.

Methods

  • string GetAddress(): Returns the Bitcoin address associated with the instance.

  • static long ConvertBitcoinToSatoshis(double bitcoinAmount): Converts a Bitcoin amount to satoshis.

Transaction Class

The Transaction class handles cryptocurrency transactions.

Constructor

publicTransaction(object coin,double amount,string address)
  • coin: The cryptocurrency object (e.g., Bitcoin) associated with the transaction.
  • amount: The amount of cryptocurrency to be received.
  • address: Address to receive the cryptocurrency.

Methods

  • bool checkTransactionReceived(): Checks if the transaction has been received.

  • bool checkTransactionConfirmed(): Checks if the transaction has been confirmed.

  • string getTransactionHash(): Returns the transaction hash.

  • string getReceiverAddress(): Returns the recipient's address.

  • long getCreationTime(): Returns the transaction's creation time in Unix timestamp.

  • long getReceivedTime(): Returns the time when the transaction was received in Unix timestamp.

  • long getConfirmationTime(): Returns the time when the transaction was confirmed in Unix timestamp.

  • double getAmount(): Returns the amount of cryptocurrency involved in the transaction.

  • object getCoin(): Returns the cryptocurrency object associated with the transaction.

TransactionManager Class

The TransactionManager class manages a list of transactions, and will check if they're received or confirmed every 2 minutes in the background.

Constructor

publicTransactionManager()

Methods

  • Transaction CreateTransaction(object coin, double amount, string address): Creates a new transaction.

  • void AddTransaction(Transaction transaction): Adds an existing transaction to the manager.

  • void RemoveTransaction(Transaction transaction): Removes a transaction from the manager.

  • List<Transaction> GetTransactions(): Returns the list of all transactions.

Events

Each instance of the Transaction.cs object is equipped with both TransactionReceived and TransactionConfirmed events, which can be subscribed to. These events are automatically triggered when a TransactionManager is active in the background, and the corresponding Transaction is managed within it.

TransactionReceived Event

The TransactionReceived event is triggered when the transaction is received to the address.

Syntax

publiceventEventHandler<TransactionEventArgs> TransactionReceived;

Usage

// Subscribe to the TransactionReceived eventtransaction.TransactionReceived+=HandleTransactionReceived;// Event handler methodprivatevoidHandleTransactionReceived(objectsender,TransactionEventArgse){TransactionreceivedTransaction=e.Transaction;// Add custom logic to handle the received transaction}

TransactionConfirmed Event

The TransactionConfirmed event is triggered when the transaction is confirmed on the blockchain.

Syntax

publiceventEventHandler<TransactionEventArgs> TransactionConfirmed;

Usage

// Subscribe to the TransactionConfirmed eventtransaction.TransactionConfirmed+=HandleTransactionConfirmed;// Event handler methodprivatevoidHandleTransactionConfirmed(objectsender,TransactionEventArgse){TransactionconfirmedTransaction=e.Transaction;// Add custom logic to handle the confirmed transaction}

Examples

Here's an example of how to use BitNav to create and manage a Bitcoin transaction:

// Initialize the Bitcoin object with a private keyBitcoinbitcoin=newBitcoin("your_private_key");// Generate a new Bitcoin addressstringrecipientAddress=bitcoin.GetAddress();// Create a transaction managerTransactionManagermanager=newTransactionManager();// Create a new Bitcoin transactionTransactiontransaction=manager.CreateTransaction(bitcoin,0.1,recipientAddress);// Check if the transaction has been receivedboolreceived=transaction.checkTransactionReceived();if(received){// Transaction has been received, check if it's confirmedboolconfirmed=transaction.checkTransactionConfirmed();if(confirmed){Console.WriteLine("Transaction confirmed!");}else{Console.WriteLine("Transaction received but not yet confirmed.");}}else{Console.WriteLine("Transaction not yet received.");}

Acknowledgements

This project is built using the NBitcoin library. Additionally, it utilizes the BlockCypher API for blockchain interaction.


Note: NBitcoin is a comprehensive Bitcoin library for the .NET platform, and BlockCypher provides a range of blockchain services and APIs.

About

.NET 6 library for accepting and managing crypto payments

Topics

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages