Blockchain Development

Blockchain development is the process of creating shared, unchangeable, distributed ledger technology (DLT) that securely records transactions and tracks assets—whether those are physical assets, like money or real estate, or nonphysical assets, like copyrights—within a network.

It’s valuable for a variety of industries because of how quickly, accurately, and securely it enables the sharing of information. Whether you’re tracking orders, accounts, payments, production, or other data, a blockchain network offers transparent delivery and storage for network members. 

Blockchain development can result in many benefits, it is a highly valuable investment, but only for businesses whose challenges can be mitigated by its promised features and functionality. When implemented correctly, a blockchain solution can provide unparalleled transparency, operational efficiency, and reduced costs. But using the right technology in tandem with that solution is essential for getting the most from your investment. 


Blockchain Acceleration Optimal Solution with Vitis

Xilinx Vitis™ Blockchain Solution, it shows how to implement a blockchain acceleration solution on Varium™ C1100 card using Xilinx Vitis tools.

On the host side, it implements the Ethash & user application, Xilinx host library, and user library;

On the device side, the acceleration kernel and user kernels are implemented with Vitis libs. Also, a Vitis based kernel design to accelerate "DAG" generation, which provides the large dataset needed by Ethash;

blockchain-image1
varium-front-angle

Flexible & Scalable Out-of-Box Solution with Vitis Libraries

Xilinx Blockchain Solution is an out-of-box mining solution for ETH, is integrated with world popular open-source mining software with C++ coding, easy to use.

Xilinx FPGA/ACAP provides highly parallel processing and on-chip intensive memory bandwidth and volume, those are extremely efficient for blockchain algorithms, achieving ASIC-like performance, meanwhile provides the flexibility and scalability to multiple protocols and developer can customize and compile into customer hardware, it shows Xilinx FPGA/ACAP great value of adaptability and higher performance/watt Energy efficiency advantages. With this, accelerating enterprise blockchain application, target other proof of work algorithms. 

adaptablity

The developer could also conduct blockchain acceleration Hackathon and Hyperledger community to adopt Xilinx blockchain acceleration card for other protocols and enterprise blockchain applications. The Hyperledger software with standard HLF peer stack interfaced to hardware packet flow architecture.

And it supports both Vitis Design Flow & Vivado Design Flow


Running Blockchain Acceleration Solution on Varium C1100 card

Requirement

  • Currently, this solution supports Xilinx Varium C1100 card
  • You will need to install specific packages for the Varium card prior to running EthereumMiner. Review the documentation on Varium Card Installation and the documentation for Installing the XRT / firmware and development software package for the Varium card.
  • You will need the xclbin files. There are two options for obtaining the xclbin files. 
    • You can download the xclbin files from Xilinx.
    • If you would like to build the xclbin files on your own machine, you'll also need Vitis that is at least 2021.1_released or later version. Please take reference from the "Installing EthereumMiner" section.
  • You will need an Ethereum Wallet. To see information on obtaining an Ethereum wallet refer to this link: https://www.myetherwallet.com
  • You will need to choose a mining pool. To see information on choosing a mining pool refer to this link: https://ethermine.org

Prerequisite Software

Before installing Ethereum Miner you must install some prerequisite software: Ubuntu 18.04 or CentOS 7.8.

Steps to run

Installing EthereumMiner

1. Obtain Xilinx EthereumMiner from github.

2. Obtain xclbins. You can either download xclbin from Xilinx or try build yourself

A. To download from Xilinx: "./build.sh get_xclbin".

You will get the following output as shown below asking you to download them from the Xilinx OMS.

code-1

B. To build yourself: "./build.sh build_ethash" and "./build.sh build_daggen" i. Building xclbin is beyond the scope of this document as it requires the installation of Vitis first. Building xclbin will not be discussed in this document.

3. Before building EthereumMIner on local host, you must first source xrt setup.sh: 

code-2

4. Build EthereumMiner on local host using the following command: 

code-3

After successfully building EthereumMiner on local host, you will see a final output of something like what you see below.

code-4

Running EthereumMiner

1. Before running EthereumMiner you must first source xrt setup.sh: 

code-5

2. You can run EthereumMiner using the following command: 

code-6

<your_account> is your wallet address (Ex: 0x5b1A…6218). <your_min_name> is the name of the mining server (Ex: svrmine1). <mining_pool_address> is the closest mining pool to your location (Ex: us2ethermine.org:4444)

Check more details

Xilinx Blockchain Acceleration is Xilinx's open-sourced blockchain solution written in C++.

The Xilinx Varium C1100 Blockchain Accelerator Card delivers maximum performance with the lowest power consumption possible. It includes a large FPGA fabric to take your blockchain solution to the next level and is fully customizable, so you can start accelerating your application with minimal disruption. 

Additionally, the Xilinx Vitis unified software platform, combined with readily available FPGA acceleration boards in the cloud, makes it easier than ever to use FPGA technology to accelerate blockchain algorithms.

 

 


About George Wang

About George Wang

George Wang is Sr. product marketing manager for Vitis SW in AMD Software & AI marketing team. George has his Masters in the Digital Signal Processing and his Bachelors in the Science of Electrical Engineering. George joined AMD in 2005, has 17 years’ experience in the DSP, FPGA design. Also has expertise in heterogenous computing, software acceleration with AMD FPGA/SoC//ACAP devices.

See all George Wang's articles