<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Bright-Lumen</title>
    <description>The latest articles on DEV Community by Bright-Lumen (@obodobright).</description>
    <link>https://dev.to/obodobright</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1074380%2F7495c510-9863-4670-b020-1f65c854897c.jpeg</url>
      <title>DEV Community: Bright-Lumen</title>
      <link>https://dev.to/obodobright</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/obodobright"/>
    <language>en</language>
    <item>
      <title>Exploring JavaScript Functions: Regular Functions vs. Arrow Functions</title>
      <dc:creator>Bright-Lumen</dc:creator>
      <pubDate>Sun, 06 Aug 2023 23:02:56 +0000</pubDate>
      <link>https://dev.to/obodobright/exploring-javascript-functions-regular-functions-vs-arrow-functions-4pa2</link>
      <guid>https://dev.to/obodobright/exploring-javascript-functions-regular-functions-vs-arrow-functions-4pa2</guid>
      <description>&lt;p&gt;In the world of JavaScript development, functions are the cornerstone of code organization and reusability. They allow developers to encapsulate specific tasks, return values, and enhance the overall efficiency of their code. JavaScript offers two primary ways to create functions: the traditional regular functions and the modern ES6 arrow functions. Each of these function types comes with its distinct syntax, behavior, and use cases. In this article, we'll dive into the differences between regular functions and arrow functions, exploring their syntax, function binding, hoisting, and more.&lt;/p&gt;

&lt;p&gt;The Syntax Distinction&lt;/p&gt;

&lt;p&gt;Let's begin by examining the syntax of both regular and arrow functions.&lt;/p&gt;

&lt;p&gt;Reguloar Function&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;function addNumbers(a, b) {
  return a + b;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Arrow Function (With implicit return on a single line)&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const addNumbers = (a, b) =&amp;gt; a + b;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In the regular function, the return keyword is explicitly used to return a value. In contrast, arrow functions allow for a more concise syntax, where the return keyword can be omitted when the function is written on a single line.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Function Binding and the this Keyword&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;One of the crucial differences between regular and arrow functions lies in how they handle the this keyword and function binding.&lt;/p&gt;

&lt;p&gt;Regular functions have their own this context, which is determined by how they are invoked. This makes regular functions suitable for object methods, as they directly reference the object they are a part of. For instance:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const person = {
  name: 'John',
  greet: function() {
    console.log(`Hello, my name is ${this.name}`);
  }
};
person.greet(); // Output: Hello, my name is John

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;On the other hand, arrow functions do not have their own this context. Instead, they inherit the this value from their surrounding context. This behavior might lead to unexpected results when used as object methods:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const person = {
  name: 'John',
  greet: () =&amp;gt; {
    console.log(`Hello, my name is ${this.name}`); // 'this' here refers to the global object
  }
};
person.greet(); // Output: Hello, my name is undefined

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Hoisting and Order of Execution&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Regular functions are hoisted in JavaScript, meaning they can be called before they are defined in the code:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sayHello(); // Output: Hello!

function sayHello() {
  console.log('Hello!');
}

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Arrow functions, however, are not hoisted and must be defined before they are invoked:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sayHello(); // Error: sayHello is not a function

const sayHello = () =&amp;gt; {
  console.log('Hello!');
};

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Arguments Object&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Regular functions have their own arguments object, which provides access to all the arguments passed to the function. Arrow functions do not have their own arguments object:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;function printArgs() {
  console.log(arguments);
}

printArgs(1, 2, 3); // Output: [1, 2, 3]

const printArgsArrow = () =&amp;gt; {
  console.log(arguments); // Error: arguments is not defined
};

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In the realm of JavaScript development, functions play a pivotal role in creating organized, modular, and efficient code. Regular functions and arrow functions are two fundamental ways to define functions, each with its unique features and behavior. Regular functions excel in scenarios where a distinct this context is required, such as object methods, while arrow functions shine in concise, single-line expressions. Understanding the nuances of these function types is crucial for writing clean, maintainable, and effective JavaScript code. As you embark on your coding journey, remember to choose the right function type for the task at hand, harnessing the full power of JavaScript's versatile function capabilities.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Web Accessibility : Web Inclusion for all.</title>
      <dc:creator>Bright-Lumen</dc:creator>
      <pubDate>Sun, 30 Jul 2023 18:18:51 +0000</pubDate>
      <link>https://dev.to/obodobright/web-accessibility-web-inclusion-for-all-1e4b</link>
      <guid>https://dev.to/obodobright/web-accessibility-web-inclusion-for-all-1e4b</guid>
      <description>&lt;p&gt;Today, we delve into the concept of inclusivity on a global scale, encompassing gender, race, and disability inclusion. The widespread availability of internet connections allows virtually all individuals to access websites and participate in social media networks. In this context of increased accessibility, we will explore methods to enhance your website's performance and foster a sense of inclusivity for all users.&lt;/p&gt;

&lt;p&gt;Web accessibility refers to the practice of designing and developing websites and web applications to ensure that people with disabilities can access, understand, and interact with the content and functionalities effectively. It is about making the web inclusive and usable for everyone, regardless of their physical or cognitive abilities. &lt;br&gt;
There are different disabilities that could affect people interactivity with web pages which includes &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Visual Imparements&lt;/strong&gt;:This addresses visual disabilities, encompassing blindness, low vision, or color blindness. Users with such conditions often rely on screen readers, screen magnifiers, or other assistive tools to effectively interact with websites&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Hearing Imparements&lt;/strong&gt;: Individuals with hearing disabilities typically prefer utilizing captions, transcripts, or visual alternatives to access audio content.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Motor Imparements&lt;/strong&gt;: Some individuals experience challenges using mice or keyboards to access websites and web applications, and they rely on voice commands to navigate the web seamlessly.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Web designers and developers bear the responsibility of enhancing website accessibility for various disabilities. Properly writing code plays a crucial role in achieving this goal. Here are the steps to follow.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Using HTML Semantic elements&lt;/strong&gt;: As a developer, it's crucial to prioritize the use of HTML semantic elements when structuring web content. By doing so, screen readers can easily comprehend the website's contents. Although many Frontend developers still resort to the div tag pattern for structuring HTML elements, it's beneficial to embrace HTML5 elements like section, header, nav, aside, article, figures, and main. Adopting semantic HTML elements allows us to be intentional in creating accessible and well-structured websites.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Text alternatives for non-text contents&lt;/strong&gt;:To enhance web accessibility for the visually impaired, it is essential to include alternative text for media elements like images, videos, and links. Additionally, clear captions should be provided, ensuring a more inclusive web experience.&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;section&amp;gt;
 &amp;lt;img src="/cat.png" alt="This is a cat image" /&amp;gt;
&amp;lt;video src="www.examplevideo.com" alt="this is an example video that is used as altentative text /&amp;gt;

&amp;lt;a href="www.facebook.com" title="this link will take you to facebook.com"&amp;gt;facebook&amp;lt;/a&amp;gt; 
&amp;lt;/section&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Incorporating alternative statements can be beneficial, especially during periods of low network latency, as they inform web users about the content expected on a particular page. Additionally, it is advised not to have links open in new windows or tabs. If there's a strong reason to do so, it's essential to explain the rationale in the title attribute of the link tag.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Keyboard accessibility&lt;/strong&gt;: When structuring webpages, prioritize keyboard accessibility for all components. Implement access keys to aid users who are unfamiliar with using a mouse, enabling them to navigate the website solely with their keyboards. Properly implement tabbing by adding the tabIndex attribute to container/section tags. Demonstrating the index of different HTML elements is beneficial for screen readers.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Forms and Label&lt;/strong&gt;: In nearly every website, data collection forms are present, making it essential to use proper form and label elements in your web pages. This ensures that all users can easily comprehend and complete form fields. Always include a label with a corresponding "for" attribute that matches the input field.&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;form&amp;gt;
  &amp;lt;label for="emailInput"&amp;gt;Email&amp;lt;/label&amp;gt;
  &amp;lt;input name='emailInput' placeholder="Please input your email address" type="email" /&amp;gt;
&amp;lt;/form&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In addition to using proper form and label elements, consider incorporating fieldsets and legends for input elements, as well as optgroups for select elements. These elements further enhance the accessibility and organization of your forms. Moreover, including the tabIndex attribute in input fields can facilitate easier navigation, ensuring a more accessible user experience.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Responsive designs&lt;/strong&gt;: In today's web development landscape, it is crucial to design websites with responsive layouts that adapt seamlessly to all screens and devices. This approach empowers users to navigate the web without any restrictions, regardless of the device they are using.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Proper Heading structure&lt;/strong&gt;: A well-structured website should utilize proper heading elements in a logical order. The use of h1, h2, h3, h4, h5, and h6 should follow a sequential arrangement, avoiding scattering them in your code. By doing so, you establish a clear and organized hierarchy of your content.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Testing with Assistive Technologies&lt;/strong&gt;: As previously mentioned, conducting thorough testing of your website with screen readers, voice recognition, video captions, keyboard-only navigation, and other assistive technologies will determine its accessibility and aid in enhancing its overall accessibility level. Equally important is engaging and gathering feedback from users with disabilities, involving them in the development process to gain insights into their challenges and identify areas for improvement based on their preferences.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Engaging in continuous research to improve web accessibility will enhance your knowledge of the latest challenges and developments in this area. Familiarizing yourself with the web accessibility guidelines published by the World Wide Web Consortium (W3C) is crucial for developers. These guidelines provide best practices and success criteria for creating accessible web content.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In conclusion, the web should be open and accessible to all, irrespective of disabilities. By following these steps to enhance web accessibility, we promote inclusivity, ensuring equal access to information, services, and opportunities on the internet for everyone. Creating an accessible website also expands your reach to a wider audience, potentially leading to increased user engagement and customer satisfaction.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Inheritance, Override and Virtual In Solidity.</title>
      <dc:creator>Bright-Lumen</dc:creator>
      <pubDate>Wed, 10 May 2023 02:59:43 +0000</pubDate>
      <link>https://dev.to/obodobright/inheritance-override-and-virtual-in-solidity-5535</link>
      <guid>https://dev.to/obodobright/inheritance-override-and-virtual-in-solidity-5535</guid>
      <description>&lt;p&gt;Since I started learning solidity, I often compare the syntax of Solidity to that of typescript, I use the concept of typescript to understand concepts in Solidity. Inheritance in Solidity programming allows a new contract to be based on an existing contract, known as the parent or base contract. The child contract can inherit all the properties, variables, and functions without necessarily trying the redefine the parent contract. Inheritance in solidity reduces code repetition and improves code maintainability.&lt;br&gt;
How does it then work?&lt;br&gt;
As typescripts make use of the extends keyword for an inheritance, so also there is a keyword for inheriting the property of another contract with solidity.&lt;/p&gt;

&lt;p&gt;We will create a file called, &lt;em&gt;addNumber.sol&lt;/em&gt; and insert these codes inside the file.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;SPDX-License-Identifier: MIT
pragma solidity ^0.8.16;

contract AddNumber {
  uint256 number;

function AddNewNumber (uint256 _number) public {
   number = _number;
}

function retrieveNewNumber () public view returns (uint256){
   return number;
}


}

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In the above-written code, we have been able to write a simple solidity contract. First, we declared the license identifier of our code which enables the exchange of software package meta-data between different tools and modifications. Then the next line specifies the version of the solidity compiler we are going to use to compile codes.&lt;/p&gt;

&lt;p&gt;So we created a contract of &lt;em&gt;&lt;strong&gt;AddNumber&lt;/strong&gt;&lt;/em&gt; and declared a uint256 variable, which is initialized to Zero. Then a function to store and retrieve the variables stored.&lt;/p&gt;

&lt;p&gt;To implement inheritance, we will go ahead to create a file called addExtraNumbers.sol(child contract)  which will inherit both variables and functions of the parent contract(AddNumber).&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;SPDX-License-Identifier: MIT
pragma solidity ^0.8.16;

// this contract will inherit AddNumber contract function

import "./addNumber.sol";

contract AddExtraNumbers is AddNumber {
 function AddNewNumber (uint256 _number) public {
   number = _number;
}


// we have been able to automatically access the 
// _**AddNewNumber**_ function.

}

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In the above code block, we created &lt;strong&gt;AddExtraNumbers&lt;/strong&gt; contract and imported &lt;strong&gt;AddNumber&lt;/strong&gt; contract using the import keyword.&lt;/p&gt;

&lt;p&gt;With the &lt;strong&gt;is&lt;/strong&gt; keyword, it signifies that, &lt;em&gt;AddExtraNumbers&lt;/em&gt; should inherit the properties and function of &lt;em&gt;AddNumber&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;Congratulations you have been able to implement Inheritance in Solidity.&lt;/p&gt;

&lt;p&gt;But what if we want to make modifications or edit the inherited functions inside the contract? Say we want to add five to every new number that will be added.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;contract AddExtraNumbers is AddNumber {
 function AddNewNumber (uint256 _number) public {
   number = _number + 5;
 }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If we compile &lt;em&gt;addExtraNumbers.sol&lt;/em&gt; we will encounter errors relating to:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;TypeError: Overriding function is missing "override" specifier.
 --&amp;gt; contracts/addExtraNumbers.sol:5:4:
  |
5 |    function AddNewNumber(uint256 _number) public   {
  |    ^ (Relevant source part starts here and spans across multiple lines).
Note: Overridden function is here:
  --&amp;gt; contracts/addNumber.sol:14:5:
   |
14 |     function AddNewNumber(uint256 _number) public   {
   |     ^ (Relevant source part starts here and spans across multiple lines).

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This indicates that we are making attempts to modify the function we inherited without the knowledge of the parent contract, more or less overriding the children of the parent contract. To avoid these errors, we need to add new keywords of &lt;strong&gt;override&lt;/strong&gt; and &lt;strong&gt;virtual&lt;/strong&gt;. The virtual keyword will be added to the function in the parent contract to specify that the function can be specified.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;//_contracts/addNumber.sol_:


contract AddNumber {
  uint256 number;

function AddNewNumber (uint256 _number) public virtual {
   number = _number;
}

function retrieveNewNumber () public view returns (uint256){
   return number;
}

}

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Adding &lt;strong&gt;virtual&lt;/strong&gt; keyword allows any inherited contracts to access and modify the function. If we compile &lt;em&gt;addExtraNumbers.sol&lt;/em&gt; we will still get the same error. Remember the &lt;strong&gt;override&lt;/strong&gt; keyword earlier stated, we will need to add that to our inherited contract function.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;//_contracts/addExtraNumbers.sol_;

 contract AddExtraNumbers is AddNumber  {
 function AddNewNumber (uint256 _number) public override {
   number = _number + 5;
 }
}

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Adding the &lt;strong&gt;override&lt;/strong&gt; keyword to the inherited function will inform the compiler that it has the right to override the inherited function with a &lt;strong&gt;virtual&lt;/strong&gt; keyword.&lt;/p&gt;

&lt;p&gt;To a large extent, Inheritance, virtual and override all works together, &lt;/p&gt;

&lt;p&gt;I hope you understand this walkthrough please leave your thoughts in the comment section, let's interact.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Getting started: Blockchain development.</title>
      <dc:creator>Bright-Lumen</dc:creator>
      <pubDate>Sun, 30 Apr 2023 17:58:07 +0000</pubDate>
      <link>https://dev.to/obodobright/getting-started-blockchain-development-4hm8</link>
      <guid>https://dev.to/obodobright/getting-started-blockchain-development-4hm8</guid>
      <description>&lt;p&gt;Business processes and operations are greatly powered by data and the speed of transmitting this information depends on how successful the business will be. Not only having great data to run the operation of your business but how well data can be trusted in implementing business processes.  Business seeks greater security, greater trust, and a more efficient way of running their businesses and this is what Blockchain technology offers.&lt;br&gt;
To most people, Blockchain has become a mysterious concept, rocket science, or a hard nut to crack, most businesses say they might not be ready for her shenanigans, but with my few weeks of study, I'd be explaining what blockchain means in simple terms and how this so-called mysterious technology works.&lt;/p&gt;

&lt;p&gt;Basically, Blockchain is a record-keeping technology that tends to store data and track assets. Like a traditional database, Blockchain can be likened to a ledger, where all kinds of data can be input, including transaction date, type of transaction, transacted by, and the amount of transaction, but these traditional ledgers can be easily manipulated, subject to misuse and tampering and have lack of transparency. With Blockchain technology, it is a shared ledger, that encourages secured information sharing and transparent delivery, everyone in your business circle that has access to a transaction is allowed to view all transactions end-to-end and can even have an identical copy of business processes. Since the technology is a decentralized peer-to-peer network, it prevents any single participant or a group of people to manipulate or control the entire system.&lt;/p&gt;

&lt;p&gt;Blockchain key elements have raised the bars of business security and greater trust in dealing with business participants, the ability to absolutely trust business transactional processing removes fear of risk and uncertainties. Blockchain as a distributed ledger technology allows network participants to have access to the immutable records of transactions, which has promoted transparency in the block. Immutability in blockchain simply means nobody can change or tamper transactions like a traditional database, if a correction is to be made in a transaction error, then a new transaction must be added, which then will be seen by all network participants.&lt;/p&gt;

&lt;p&gt;How Does Blockchain Work?&lt;br&gt;
In simpler terms, a Blockchain is an organized database network that stores information in a sequential chain of cryptographic hash-linked blocks, all confirmed and validated transactions are linked and chained from the beginning to the most current block, which means, tampering with one of the transaction blocks will affect the chains of another block of transactions.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The process of Blockchain&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;When a new transaction is initiated, the transaction details will be sent to the network of nodes in the database to verify the status of the transaction, if it's successful, a block of data that keeps the information you choose to record will be created in the database. These blocks created have a certain capacity, and if exceeded, it creates a new block that links to the previous block, which uses a unique code called harsh to achieve that. Chains of blocks are created and connected to the ones before and after them, and if the previous block tampers, it will affect the other because of their relationship. These blocks of transactions are tied together in irreversible chains called Blockchains. Each transactions blocks created are verified by the networks of nodes to confirm the previous block thus the entire blockchain. This eliminates the fear of data tampering with the technology.&lt;/p&gt;

&lt;p&gt;Blockchain gives room for a decentralized system of keeping transaction records and efficiently tracking assets that prevent manipulations and improve business transparency.&lt;/p&gt;

&lt;p&gt;As a new learner of blockchain technologies, I will document my process of learning Blockchain and how it's being developed.&lt;/p&gt;

</description>
      <category>blockchain</category>
      <category>beginners</category>
      <category>javascript</category>
    </item>
  </channel>
</rss>
