官术网_书友最值得收藏!

Testing the createNewBlock method

Let's follow the below mentioned steps to test the createNewBlock method: 

  1. Firstly, underneath where we created our bitcoin variable, type in the following highlighted line of code:
const Blockchain = require('./blockchain');

const bitcoin = new Blockchain();

bitcoin.createNewBlock();

console.log(bitcoin);
  1. This createNewBlock() method requires three parameters, such as nonce, previousBlockHash, and a hash. For test purposes, we can just pass in whatever we want for now. Here, the nonce will just be a number. Then we will create a dummy hash for our previousBlockHash, followed by another hash for our hash parameter, as follows:
bitcoin.createNewBlock(2389,'OIUOEREDHKHKD','78s97d4x6dsf');

Right now, we are creating our bitcoin blockchain, followed by a new block in our bitcoin blockchain. When we log out of our bitcoin blockchain, we should have one block in it.

  1. Save this file and run our test.js file again in the terminal. You'll then get to observe the following output: 

In the preceding screenshot, you can observe the entire blockchain data structure in the chain array. This has one block in it, or one object in it. This block also has the hash, nonce, and previousBlockHash parameters that we had passed. It also has the timestamp and the index of 1. It has no transactions because we haven't created any transactions yet. Consequently, we can conclude that the createNewBlock method works just fine. 

  1. Now let's test our method even further by creating a couple more blocks in our chain. Let's duplicate the following lines of code  multiple times and then try to change the values in it as we wish:
bitcoin.createNewBlock(2389,'OIUOEREDHKHKD','78s97d4x6dsf');
  1. After duplicating the code and changing the value, save the file. Now, when we run our test.js file, we should have three blocks in our chain, as shown in the following screenshot: 

In the preceding screenshot, you may have observed the three blocks inside of the chain array. These are all of the blocks that we've created with our createNewBlock method. 

主站蜘蛛池模板: 惠东县| 开平市| 固安县| 同江市| 织金县| 德昌县| 汉沽区| 吉安县| 察雅县| 永年县| 基隆市| 绩溪县| 商城县| 保康县| 泸水县| 米脂县| 潮州市| 阜南县| 汨罗市| 东台市| 上栗县| 泽州县| 凤山县| 兰考县| 嵊泗县| 屏边| 洪湖市| 交城县| 朔州市| 新泰市| 东方市| 白山市| 九龙县| 孟连| 锦屏县| 望城县| 洞口县| 临泉县| 通渭县| 勐海县| 永寿县|