Charnacoin is a new cryptocurrency based on CryptoNote technology. Itβs major benefit is to provide much stronger privacy to both the senders and receivers of transactions.
With Charnacoin, you are your own bank. Only you control and are responsible for your funds, and your accounts and transactions are kept private from prying eyes.
Charnacoin improves upon the base CryptoNote technology in several ways that strengthen its anonymity and reduce the size of the global ledger of all transactions, called the “blockchain”.
Because of the decentralized and peer-to-peer nature of the Charnacoin network it becomes more robust and resilient as it becomes larger. We encourage all users to run a full node, if they are able to.
Running a Charnacoin node does not yet require a huge amount of processing power, but it does require a few gigabytes worth of disk space to store the blockchain, and there will be some impact on your bandwidth especially from connected nodes that are catching up on the blockchain. The easiest way to run a Charnacoin node, without affecting your home bandwidth, is to purchase a VPS (Virtual Private Server).
Specifications:
PoW algorithm: CryptoNote
Max supply: Infinite (see note below)
Block reward: Smoothly varying
Block time: 60 seconds
Difficulty: Retargets at every block
1] CPU + GPU mining (about 1:1 performance for now). Memory-bound by design using AES encryption and several SHA-3 candidates. [2] Initial number of atomic units is M = 109 - 1. However, once the block reward reaches 0.3CHRC per minute that is treated as the minimum subsidy, which means that CharnaCoinβs total emission will forever increase by ~157680 CHRC annually. [3] Uses a recurrence relation. Block reward = (M - A) * 2-20 * 10-12, where A = current circulation.
Charnacoin Payments:
The Basics
Charnacoin 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 Charnacoin 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 16 or 64 characters long, and is normally randomly created by the merchant. An example of a payment ID is: 000c75666679706f6e7920697320111115206265737420706f6e7920657689997
Checking for a Payment with Charnacoin wallet
If you want to check for a payment using Charnacoin-wallet-cli you can use the “payments” command followed by the payment ID or payment IDs you want to check. Note that this can also be done with GUI wallet.
Receiving a Payment Step-by-Step
> Generate a random 64 character hexadecimal string for the payment
> Communicate the payment ID and Charnacoin address to the individual who is making payment
> Check for the payment using the “payments” command in charnacoin-wallet-cli or GUI wallet
Checking for a Payment Programatically
In order to check for a payment programatically 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
It is important to note that the amounts returned are in base Charnacoin 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
OFFICIAL SITEΒ
FACEBOOK
TWITTER
GITHUB
MINING POOL 1
MINING POOL 2
MINING POOL 3
Charnacrypto seed node:Β
Generate new wallet:
Login to your wallet: