BlockChain-Tra GitHub Details, Stars and Alternatives | OpenRepoFinder
superDev427 / repository
BlockChain-Tra
This is a fully decentralized blockchain project that implements some of the major features of popular cryptocurrency project like Bitcoin and ethereum using go programming language. This an experimental project for learning purposes and it contains a detailed overview of how blockchain works, most importantly how this project works.
A transparent discovery signal based on current public GitHub metadata.
Recent activity35% weight
72
Community adoption25% weight
10
Maintenance state20% weight
100
License clarity10% weight
0
Project information10% weight
75
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
README preview
The Crypto Project
This is a fully decentralized blockchain project that implements some of the major features of popular cryptocurrency project like Bitcoin and ethereum using go programming language. This an experimental project for learning purposes and it contains a detailed overview of how blockchain works, most importantly how this project works. This project was inspired by [Go Ethereum]and [bitcoin]. This projects is built on existing research and experimentation but offer better networking implementation with the use of automatic peer discovery with the help of lip2p library collection and CLIUI for each Host/Peers to see how peers interact with each other in realtime
What is it? Nuvei is a global electronic payment processing company. They provide payment technology solutions to businesses around the world and delivers a secure payment experience for merchants and their customers in over 200 markets worldwide. Nuvei operates on a transaction-based model. It charges a fee for each transaction. . A secondary source of revenue comes by providing value-added services and monthly subscription fees by offering service tools such as risk management and analytics. The company’s products currently support nearly 150 currencies, 480 alternative payments methods (APMs), and 40 cryptocurrencies. Merchants can capture every payment opportunity that comes their way. In 2021, Nuvei acquired Simplex Ltd, a fintech startup providing the fiat infrastructure to the cryptocurrency industry, for approximately $250 million. Simplex delivers the infrastructure for consumers to buy or sell cryptocurrencies using credit and debit cards. This is a game-changer event for the Nuvei. From humbled beginnings, Nuvei began operations in 2003 in Montréal, Quebec and now have offices around the world. It has now become Canada’s largest private, non-bank payment processor. Why this Matters? If you ask the question: is there a global currency? The official answer is No. The only currency that comes close to being a global currency is the US Dollar (USD). You can go anywhere in the world (restaurants and stores) and conduct the transaction or pay in USD. Everyone accepts it. It is also the global reserve currency for central banks. In some smaller emerging markets countries USD is the unofficial currency as locals prefer USD over their local currency. Though, it is not a true global currency for global companies. A foreign company can accept revenues in USD but pay expenses in local currency. There are transactions and exchange rates costs involved. What is also compelling is there is a finite number of coins. With a fiat currency, the central can keep printing it and devalue it. This often happens in countries facing economic collapse, such as Turkey is today. Crypto can help in cross-border transactions, it cheaper and relatively easier and quicker to do. Crypto can help citizens in countries that are going through an economic collapse and preserve their net worth by holding crypto than their local currency. Why this may be interesting? As Nuvei likes to state: We want to make the world a local marketplace. By offering its customers to buy or sell 40 types of cryptocurrencies using credit and debit cards Nuvei is doing just that. A global marketplace using one currency (crypto currency). Crypto currency is still in its infancy but the potential for higher growth and more transactions involving crytpo in the future is likely to witness explosive growth over a year-over-year basis. According to CoinPayments, as of June 2021, Bitcoin, Ethereum, and Litecoin combined processed “about 1.5 million transactions per day. In 2016, the daily transactions were less than 250,000.” Each year, more and more consumers are not just buying and holding crypto but actually using it for transactions. As well, we see businesses benefitting from accepting cryptocurrency payments. According to CoinPayments, on average businesses are seeing crypto purchase orders being 2x higher than fiat currency purchases with a 55% reduction in transaction fees. We’re now seeing global institutions, embracing it. Crypto is going mainstream. It has the potential to be the de facto global currency. It can become the preferred cross border payment since it offers a lower fee than a regular fiat currency payment. The question is not if but when Amazon will start accepting cryptocurrency directly. This will create huge momentum and domino effect for other corporations to jump on board and create more business for Nuvei. Because Nuvei is a publicly traded company on the TSX and Nasdaq, it has a currency (it’s stock) to continue to make acquisitions and expand. I would not be surprised over the coming years if one the larger online institutions, i.e. PayPal or Block (formerly known as Square), acquires them at a premium price. Paypal’s market-cap is $146 Billion (USD), Block is $47 Billion (USD), while Nuvei is $8.3 Billion (USD). Regulations – Biggest Hurdle facing Nuvei The regulatory issues are coming at the forefront Securities regulators are concerned about rapid rise of thousand of cryptocurrencies. The SEC chairman says “it is like the Wild West that can be rife with fraud, scams, and abuse.” The Federal Trade Commission reported that consumers lost more than $80 million in cryptocurrency investment scams between Oct-2020 to May 2021. Regulation is coming, it remains to be seen how big of an impact it will have on cryptocurrencies. About Nuvei Growth in Crypto transactions
./examples
Code samples for API wrappers written in Go, Python, Rust and JS E.T.C
Blockchain
Blockchain can be defined as a database that stores blocks, with every next block being linked to the previous one in form of a linked list and a cryptographically secure way so that it’s not possible to change anything in previous blocks, it is a decentralized distributed system of Nodes/Peers that works in a coordinated way. What are Distributed systems? this is a computing paradigm whereby two or more nodes work with each other in a coordinated fashion to achieve a common outcome and it's modeled in such a way that end-users see it as a single logical platform. Distributed systems are interestingly complex due to the ability of nodes to coordinate themselves properly, consistency, E.T.C.
Nodes
Nodes can be defined as any kind of device(mostly computers), phones, laptops, large data centers that uses graphics processing unit(GPU) , Tensor Processing Unit (TPU) E.T.C for expensive and overhead computations. Nodes form the basic infrastructure of a blockchain network, without a node there is no network. All nodes on a blockchain are connected to each other and they constantly exchange the latest blockchain data with each other so that all nodes stay up to date. The main purpose of nodes includes but not limited to: storage of blockchain data, verifying of new transactions and blocks, helping of new and existing nodes stay upto date E.t.c.
This blockchain comprises of three types of nodes which includes:
Mining Nodes
This is the most important node in the blockchain network, they keep the network running, they foster the minting of new coins, they verify transactions , verifies and mine new blocks.
Full Nodes
This type of nodes fosters the verifications of new transactions, manage memory pool (unconfirmed transactions) for miners and also verifies new blocks.
Ordinary Nodes
This type of nodes are part of the network to keep the network running, they mostly verify new blocks on the network
BlockChain-Tra only supports 1 fullnode and 1 mining node with infinite number of ordinary node due to underlining issues with the memorypool and the mining implementation as explained here
Consensus mechanism,Mining, Blocks & Proof Of Work (POW)
Consensus mechanism means to reach agreements among network nodes or systems. It fosters consistency of information accross multiple Nodes. Most financial institution today are centralized with lot's of restrictions and regulations, blockchian helps remove that barrier and consensus mechanism is an essential part of the blockchain network because it allows every nodes in the network to maintain an identical copy of the database. Otherwise, we might end up with conflicting information, undermining the entire purpose of the blockchain network. Bitcoin was the first cryptocurrency to solve the problem of distributed consensus in a trustless network by using the idea behind Hashcash. Hashcash is a proof-of-work algorithm, which has been used as a denial-of-service (Dos)counter measure technique in a number of systems. Proof of work fosters minting of new digital currency in blockchain network by allowing Nodes to perfrorm expensive computer calculation, also called mining, that needs to be performed in order to create a new group of trustless transactions that forms a block on a distributed ledger called blockchain. The key purpose of this is to prevent double spending, distributed denial-of-service attack (DDoS) E.T.C. There are different kinds of consensus mechanism algorithms which work on different principles E.G Proof of Capacity (POC) and proof of stake (POS) but this project implements the Proof of work algorithm used in bitcoin & litecoin
Blocks Diagram
How do we know that a block is valid ?
We basically check for two things.
We Check if the previous block referenced by the block exists and is valid.
We Check that the proof of work done on the block is valid.
Wallet
The wallet system, comparable to a bank account, contains a pair of public and private cryptographic keys. The keys can be used to track ownership, receive or spend cryptocurrencies. A public key allows for other wallets to make payments to the wallet's address, whereas a private key enables the spending of cryptocurrency from that address.
Flow diagram
The wallet system is independent of the blockchain network and it is built ontop of the demon Command line(the network default CLI) and also there is a dedicated executable file in the binaries folder coupled with basic commands for performing different actions like generating new wallet, listing existing wallets.
NB: In order to perform any action that requires the address, it is important to use the cli command for generating wallets because the node or peer doesn't have access to the wallet generated outside of itself and there are no ways to import a wallet to a node just yet.
Or Re-Build Wallet by navigating to this folder and proceed to execute the below command to build the wallet
go build
Via Standalone Binaries
Commands
Generate new wallet
./wallet new
Print all local wallet
./wallet print
Print wallet by Address
./wallet print --address ADDRESS
Transactions
A transaction is a transfer of value between wallets that gets included in the block chain as defined by bitcoin.org. It comprises of the transaction Inputs and outputs, the transaction inputs comprises of an array of spent coins gotten from the outputs while transaction outputs comprises of unspent coins. This transactions are signed with a secret called private key that can be found in the user wallet to proof that a user is indeed the owner of the coins, this transactions is initialized and sent to the network which in turn under-goes a series of verification by the network nodes to confirm the validity of the transaction using the user's public key.
Memory pool
This is also know as the transaction pool, this is the waiting area for unconfirmed transactions. When a transaction is carried out by a user, it is sent out to all the avialaible full nodes in the network, this full nodes verifies the transaction before adding it to their memory pool while waiting for mining nodes to pick it up and includes it in the next block.
This concept became really popular due to the bitcoin blockhain and this can be defined as an output of a blockchain transaction that has not been spent
They are available to be used in new transactions (as long as you can unlock them with your private key), which makes them useful. UTXOs is used as inputs when a user tries to send X amount of coin to Y person given that the amount of UTXOs that the user can unlock is enough to be used as an input. Calculating a wallet address balance can be gotten by accumulating all the unspent transaction outputs that are locked to the particular address
Why do we need this ?
Blockchain data are quite verbose, it can range from hundrends to billions of data and computing user wallet balance from a blockchian of that size is computationally expensive in which UTXOs came in as a rescue to reduce overhead. UTXOs ain't all that clever but it's a progress, and every idea has it's tradeoff's. Ethereum introduced it's own way to compute user balance
How it works (BlockChain-Tra context)
UTXOs are stored on BadgerDB and specific commands were provided to handle this but Note, UTXOS are created from the blockchain starting from the genesis block and it is computed everytime a new transaction is carried out and when a new block is added as opposed everytime a user checks his/her balance.
Merkle Tree
A Merkle tree can be simply defined as a binary hash tree data structure , composed of a set of nodes with a large number of leaf nodes at the bottom of the tree containing the underlying data, a set of intermediate nodes where each node is the hash of its two children, and finally a single root node, also formed from the hash of its two children, representing the "top" of the tree called the merkle root, which enables the quick verification of blockchain data, as well as quick movement of large amounts of data from one computer node to the other on the blockchain network. The transactions are executed on a merkle tree algorithm to generate a single hash which is a string of numbers and letters that can be used to verify that a given set of data is the same as the original set of transactions.
The Solareum project has taken it upon itself to transform Puerto Rico into a solar-powered island. The chairman of the Bitcoin Foundation, Mr. Brock Pierce was present at the recently held Restart week in Rincon. Addressing a crowd made up of crypto enthusiasts, investors and students, innovators and more, Mr. Pierce stated that his solar project for the Puerto Rico people is solely on a philanthropic basis. The entire crowd applauded his initiative and his love for the nation. The CMO of Solareum, Justin Lally said that: “Brock is the reason I am here, his passion for the island, people and what can be accomplished here, this trip will be a game changer in many ways. As a business partner and longtime friend of Mr. Pierce, intentions are beyond genuine, and we are set to make this a fully self-sustainable island.” With Pierce’s passion for Puerto Rico, Lally is convinced that the team could achieve great things in the island nation. “Actions speak louder than words, Solareum.club which offers solar panels all over the world, Solareum will have them installed and ready to give back power for free. Solareum is going to join the cryptocurrency community at the end of June and will be traded on various Exchanges. The token will be traded under the symbol SLRM,” Lally said, adding “Could you imagine if there was solar power prior to the hurricane, the island would bounce back in record time. So Solareum is going to join Mr. Pierce and other innovators that are looking to revamp the island, for the betterment of the people of the people and the island.” Everyone was quite impressed by Mr. Lally’s speech. He also reiterated that: “Solareum is the first of its kind. As you can see on the website Solareum.club, Mr. Pierce and I, only have the best intentions for this island, so over the course of the rest of the year, we will be donating solar panels to key areas, so no one goes without power for weeks on end as they previously have, ever again.” The Solareum project is focused on providing the world with clean, renewable energy products. It offers both P2P and B2B business models. Solareum is open to partnerships, and its blockchain system fosters trust and reliability. For more information visit https://www.solareum.club Whitepaper: https://docs.wixstatic.com Twitter : https://twitter.com/SOLAREUMclub LinkedIn: https://www.linkedin.com/company/solareum/ Instagram: https://www.instagram.com/solareumclub/ Email: [email protected]
Starting with word metamorphosis which means conversion, So here we are going to make a blockchain application that converts one cryptocurrency into another cryptocurrency (one will be Ethereum’s native cryptocurrency i.e ‘Ether’ and other will be ‘CoinBarter’ which will be created by us on Ethereum blockchain using ERC 20 tokens) at fixed rate and we will be using blockchain technology to create this decentralized application. Our traditional web applications are centralized as they are controlled by single person so data and transactions can be manipulated or stolen. Whereas blockchain helps in making decentralized application in which no one can change or stole data as blockchain is immutable. Blockchain has smart contracts in which transaction methods/rules/code/program are written in solidity programming language. Smart contracts are simply programs stored on a blockchain that run when predetermined conditions are met. They typically are used to automate the execution of an agreement so that all participants can be immediately certain of the outcome without any intermediary’s involvement or time loss. In our project we will make two smart contract one of crypto exchange which will help in converting cryptocurrency and in another smart contract we will create our own cryptocurrency (CoinBarter) on Ethereum blockchain network using ERC 20 tokens which are standard rules or functions of Ethereum blockchain to create cryptocurrency. And then we will deploy this smart contract to our block chain. As we cannot access blockchain with our traditional web server’s to overcome this problem we will use metamask for it. For creating local development blockchain we will use ganache. We will also make client side front end and connect it to our block chain using web3.js library. So user will be able to buy or sell our crypto currency that we have made by exchanging his/her ether which is native cryptocurrency of Ethereum blockchain and vice versa.