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

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. 

主站蜘蛛池模板: 辽阳县| 嘉荫县| 新邵县| 桂东县| 左云县| 永善县| 寻乌县| 宁安市| 汉源县| 郯城县| 黔西| 信阳市| 康保县| 南靖县| 西林县| 白水县| 滦平县| 青田县| 七台河市| 竹山县| 许昌县| 甘南县| 武义县| 金华市| 阿巴嘎旗| 阜新市| 万盛区| 临猗县| 明星| 买车| 威海市| 沙洋县| 濮阳市| 营口市| 田东县| 延庆县| 色达县| 太保市| 时尚| 明光市| 门源|