Castore  DeRose

Castore DeRose

1654928579

What is Web5 - What's New?

Web 5 brings decentralized identity and data storage to individual’s applications. In this post, you'll learn What is Web 5? 

Jack Dorsey’s Bitcoin-focused TBD business unit, a subsidiary of Block Inc., announced Friday that it is building a new decentralized web: Web5: “Identity and personal data have become the property of third parties. Web 5 brings decentralized identity and data storage to individual’s applications. It lets devs focus on creating delightful user experiences, while returning ownership of data and identity to individuals.”

Web 5’s monetary layer will be built on the foundation of Bitcoin. This is unsurprising, given Dorsey’s outspoken Bitcoin “maximalism.” The other technologies underpinning Web 5 are borrowed from myriad areas of cryptography and computer science.

Web 5, like Web 3, will enable users to interact with one another without intermediaries. This, in theory, means no threat from government censors or centralized service outages, among other supposed advantages.

Similar to other attempts to create a decentralized layer on top of the web, Web 5 will also aim to provide users with a “decentralized identity” allowing them to seamlessly move from application to application without needing to explicitly log in. User data, rather than getting stored with third party products and services, will be controlled by users and only be exposed with their permission.

TBD's definition of WEB5

At CoinDesk’s Consensus Festival here in Austin, TBD – the bitcoin-focused subsidiary of Dorsey’s Block (SQ) – announced its new vision for a decentralized internet layer on Friday. Its name? Web 5.

Mike Brock explained that Web 5 – in addition to being “two better than Web 3” – would beat out incumbent models by abandoning their blockchain-centric approaches to a censorship free, identity-focused web experience.

WEB5: AN EXTRA DECENTRALIZED WEB PLATFORM

Building an extra decentralized web that puts you in control of your data and identity

The web democratized the exchange of information, but it's missing a key layer: identity. We struggle to secure personal data with hundreds of accounts and passwords we can’t remember. On the web today, identity and personal data have become the property of third parties.

Web5 brings decentralized identity and data storage to your applications. It lets devs focus on creating delightful user experiences, while returning ownership of data and identity to individuals.

1. The Pillars of web5

2. Decentralized Identifier

3. Veritable Credentials

4. Decentralized Web Nodes

Personal datastores that hold public and encrypted data.

5. The Anatomy of an Identity Wallet

Wallets act as agents for individuals or institutions by facilitating identity and data interactions.

6. Web5 Network Topology 

7. Visualizing web5 and the DWP Stack

DECENTRALIZED WEB APPS (DWAs): web apps enhanced with decentralized identity and data storage capabilities.

8. From PWAs to DWAs

9. ACME Bank?

10. tbDEX Message Threads

11. Music to my ears

12. Hotel me your travel plans

Components

TBD’s Web5 is made up of software components and services such as decentralized identifiers (DIDs), decentralized web node (DWNs), self-sovereign identity service (SSIS) and a self-sovereign identity software development kit (ssi-sdk). These components let developers focus on building user experiences while more easily enabling decentralized identity and data storage in applications.

1. DECENTRALIZED IDENTIFIERS

Web5’s DID component leverages ION, an open, public and permissionless second-layer DID network that runs atop the Bitcoin blockchain. It is based on the deterministic Sidetree protocol, which requires no special tokens, trusted validators or additional consensus mechanisms to function.

A DID is essentially a globally unique persistent identifier that doesn’t require a centralized registration authority and is often generated and registered cryptographically. It consists of a unique uniform resource identifier (URI) string that serves as an ID with additional public key infrastructure (PKI) metadata describing the cryptographic keys and other fundamental PKI values linked to a unique, user-controlled, self-sovereign identifier in a target system such as the Bitcoin blockchain.

ION only allows DIDs to be deactivated by their owners, being hence censorship-resistant, and includes registry capabilities to support decentralized package managers and app stores. The decentralized network can in theory process thousands of DID operations per second.

View ComponentsHere

2. DECENTRALIZED WEB NODE

The DWN leveraged by Web5 is a reference implementation of the Decentralized Identity Foundation’s DWN draft specification. Two people from Block have contributed to the specification: Moe Jangda as a contributor and Daniel Bucher as an editor.

According to the specification, a DWN is a mechanism for data storage and message transmission that participants can leverage to locate public or private data linked to a given DID. It enables the interaction between different entities that need to verify the identity of each other in order to transfer information to one another.

“Decentralized Web Nodes are a mesh-like datastore construction that enable an entity to operate multiple nodes that sync to the same state across one another, enabling the owning entity to secure, manage, and transact their data with others without reliance on location or provider-specific infrastructure, interfaces, or routing mechanisms,” per the specification.


Source: DIF.

TBD’s goal is to produce a first version of the current draft specification along with a reference implementation by July 1, 2022.

Contributions from the development community are welcome. Interested developers can submit proposals as pull requests to the GitHub repository. Likewise, issues can also be submitted on the same GitHub repository.

View ComponentsHere

3. SELF-SOVEREIGN IDENTITY SERVICE

Web5’s SSIS is a web service that wraps the ssi-sdk.

The SSIS interacts with the standards around verifiable credentials, credential revocations, requesting credentials, exchanging credentials, data schemas for credentials and other verifiable data, messaging using DWN and usage of DIDs.

“Using these core standards, the SSIS enables robust functionality to facilitate all verifiable interactions such as creating, signing, issuing, curating, requesting, revoking, exchanging, validating, verifying credentials in varying degrees of complexity,” per its webpage.

View ComponentsHere

4. SELF-SOVEREIGN IDENTITY SDK

Standards-based primitives for using Decentralized Identifiers and Verifiable Credentials.

The ssi-sdk encapsulates standards related to self-sovereign identity.

“The ssi-sdk intends to provide flexible functionality based on a set of standards-based primitives for building decentralized identity applications in a modular manner: with limited dependencies between components,” per its webpage.

View ComponentsHere

WEB5: Use Cases

Control Your Identity

Alice holds a digital wallet that securely manages her identity, data, and authorizations for external apps and connections. Alice uses her wallet to sign in to a new decentralized social media app. Because Alice has connected to the app with her decentralized identity, she does not need to create a profile, and all the connections, relationships, and posts she creates through the app are stored with her, in her decentralized web node. Now Alice can switch apps whenever she wants, taking her social persona with her.

Own Your Data

Bob is a music lover and hates having his personal data locked to a single vendor. It forces him to regurgitate his playlists and songs over and over again across different music apps. Thankfully there's a way out of this maze of vendor-locked silos: Bob can keep this data in his decentralized web node. This way Bob is able to grant any music app access to his settings and preferences, enabling him to take his personalized music experience wherever he chooses.

"(Web 2), (Web 3) -> (Web 5)" reads one slide in a Google Doc presentation shared by Dorsey that lays out his vision. "The Decentralized Web Platform (DWP) enables developers to write Decentralized Web Apps (DWAs) using Decentralized Identifiers (DIDs) and Decentralized Web Nodes (DWNs), returning ownership and control over identity and data to individuals <-- We are calling this Web5." 

Block’s Web5 promises to do away with anything that has stopped Web3 from being truly (say it with me) “decentralized.” They promise no utility tokens or consensus models, instead relying on a (sigh) decentralized web-based on blockchain tech.

Visit: TBD website 

What to expect next?

Thank you for reading!

#blockchain #bitcoin #technology #web3 #web5 

What is GEEK

Buddha Community

What is Web5 - What's New?
Justen  Hintz

Justen Hintz

1663559281

To-do List App with HTML, CSS and JavaScript

Learn how to create a to-do list app with local storage using HTML, CSS and JavaScript. Build a Todo list application with HTML, CSS and JavaScript. Learn the basics to JavaScript along with some more advanced features such as LocalStorage for saving data to the browser.

HTML:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>To Do List With Local Storage</title>
    <!-- Font Awesome Icons -->
    <link
      rel="stylesheet"
      href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.2.0/css/all.min.css"
    />
    <!-- Google Fonts -->
    <link
      href="https://fonts.googleapis.com/css2?family=Poppins:wght@400;500&display=swap"
      rel="stylesheet"
    />
    <!-- Stylesheet -->
    <link rel="stylesheet" href="style.css" />
  </head>
  <body>
    <div class="container">
      <div id="new-task">
        <input type="text" placeholder="Enter The Task Here..." />
        <button id="push">Add</button>
      </div>
      <div id="tasks"></div>
    </div>
    <!-- Script -->
    <script src="script.js"></script>
  </body>
</html>

CSS:

* {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
}
body {
  background-color: #0b87ff;
}
.container {
  width: 90%;
  max-width: 34em;
  position: absolute;
  transform: translate(-50%, -50%);
  top: 50%;
  left: 50%;
}
#new-task {
  position: relative;
  background-color: #ffffff;
  padding: 1.8em 1.25em;
  border-radius: 0.3em;
  box-shadow: 0 1.25em 1.8em rgba(1, 24, 48, 0.15);
  display: grid;
  grid-template-columns: 9fr 3fr;
  gap: 1em;
}
#new-task input {
  font-family: "Poppins", sans-serif;
  font-size: 1em;
  border: none;
  border-bottom: 2px solid #d1d3d4;
  padding: 0.8em 0.5em;
  color: #111111;
  font-weight: 500;
}
#new-task input:focus {
  outline: none;
  border-color: #0b87ff;
}
#new-task button {
  font-family: "Poppins", sans-serif;
  font-weight: 500;
  font-size: 1em;
  background-color: #0b87ff;
  color: #ffffff;
  outline: none;
  border: none;
  border-radius: 0.3em;
  cursor: pointer;
}
#tasks {
  background-color: #ffffff;
  position: relative;
  padding: 1.8em 1.25em;
  margin-top: 3.8em;
  width: 100%;
  box-shadow: 0 1.25em 1.8em rgba(1, 24, 48, 0.15);
  border-radius: 0.6em;
}
.task {
  background-color: #ffffff;
  padding: 0.3em 0.6em;
  margin-top: 0.6em;
  display: flex;
  align-items: center;
  border-bottom: 2px solid #d1d3d4;
  cursor: pointer;
}
.task span {
  font-family: "Poppins", sans-serif;
  font-size: 0.9em;
  font-weight: 400;
}
.task button {
  color: #ffffff;
  padding: 0.8em 0;
  width: 2.8em;
  border-radius: 0.3em;
  border: none;
  outline: none;
  cursor: pointer;
}
.delete {
  background-color: #fb3b3b;
}
.edit {
  background-color: #0b87ff;
  margin-left: auto;
  margin-right: 3em;
}
.completed {
  text-decoration: line-through;
}

Javascript:

//Initial References
const newTaskInput = document.querySelector("#new-task input");
const tasksDiv = document.querySelector("#tasks");
let deleteTasks, editTasks, tasks;
let updateNote = "";
let count;

//Function on window load
window.onload = () => {
  updateNote = "";
  count = Object.keys(localStorage).length;
  displayTasks();
};

//Function to Display The Tasks
const displayTasks = () => {
  if (Object.keys(localStorage).length > 0) {
    tasksDiv.style.display = "inline-block";
  } else {
    tasksDiv.style.display = "none";
  }

  //Clear the tasks
  tasksDiv.innerHTML = "";

  //Fetch All The Keys in local storage
  let tasks = Object.keys(localStorage);
  tasks = tasks.sort();

  for (let key of tasks) {
    let classValue = "";

    //Get all values
    let value = localStorage.getItem(key);
    let taskInnerDiv = document.createElement("div");
    taskInnerDiv.classList.add("task");
    taskInnerDiv.setAttribute("id", key);
    taskInnerDiv.innerHTML = `<span id="taskname">${key.split("_")[1]}</span>`;
    //localstorage would store boolean as string so we parse it to boolean back
    let editButton = document.createElement("button");
    editButton.classList.add("edit");
    editButton.innerHTML = `<i class="fa-solid fa-pen-to-square"></i>`;
    if (!JSON.parse(value)) {
      editButton.style.visibility = "visible";
    } else {
      editButton.style.visibility = "hidden";
      taskInnerDiv.classList.add("completed");
    }
    taskInnerDiv.appendChild(editButton);
    taskInnerDiv.innerHTML += `<button class="delete"><i class="fa-solid fa-trash"></i></button>`;
    tasksDiv.appendChild(taskInnerDiv);
  }

  //tasks completed
  tasks = document.querySelectorAll(".task");
  tasks.forEach((element, index) => {
    element.onclick = () => {
      //local storage update
      if (element.classList.contains("completed")) {
        updateStorage(element.id.split("_")[0], element.innerText, false);
      } else {
        updateStorage(element.id.split("_")[0], element.innerText, true);
      }
    };
  });

  //Edit Tasks
  editTasks = document.getElementsByClassName("edit");
  Array.from(editTasks).forEach((element, index) => {
    element.addEventListener("click", (e) => {
      //Stop propogation to outer elements (if removed when we click delete eventually rhw click will move to parent)
      e.stopPropagation();
      //disable other edit buttons when one task is being edited
      disableButtons(true);
      //update input value and remove div
      let parent = element.parentElement;
      newTaskInput.value = parent.querySelector("#taskname").innerText;
      //set updateNote to the task that is being edited
      updateNote = parent.id;
      //remove task
      parent.remove();
    });
  });

  //Delete Tasks
  deleteTasks = document.getElementsByClassName("delete");
  Array.from(deleteTasks).forEach((element, index) => {
    element.addEventListener("click", (e) => {
      e.stopPropagation();
      //Delete from local storage and remove div
      let parent = element.parentElement;
      removeTask(parent.id);
      parent.remove();
      count -= 1;
    });
  });
};

//Disable Edit Button
const disableButtons = (bool) => {
  let editButtons = document.getElementsByClassName("edit");
  Array.from(editButtons).forEach((element) => {
    element.disabled = bool;
  });
};

//Remove Task from local storage
const removeTask = (taskValue) => {
  localStorage.removeItem(taskValue);
  displayTasks();
};

//Add tasks to local storage
const updateStorage = (index, taskValue, completed) => {
  localStorage.setItem(`${index}_${taskValue}`, completed);
  displayTasks();
};

//Function To Add New Task
document.querySelector("#push").addEventListener("click", () => {
  //Enable the edit button
  disableButtons(false);
  if (newTaskInput.value.length == 0) {
    alert("Please Enter A Task");
  } else {
    //Store locally and display from local storage
    if (updateNote == "") {
      //new task
      updateStorage(count, newTaskInput.value, false);
    } else {
      //update task
      let existingCount = updateNote.split("_")[0];
      removeTask(updateNote);
      updateStorage(existingCount, newTaskInput.value, false);
      updateNote = "";
    }
    count += 1;
    newTaskInput.value = "";
  }
});

Related Videos

Build a Todo list app in HTML, CSS & JavaScript | JavaScript for Beginners tutorial

Build a Todo List App in HTML, CSS & JavaScript with LocalStorage | JavaScript for Beginners

To Do List using HTML CSS JavaScript | To Do List JavaScript

Create A Todo List App in HTML CSS & JavaScript | Todo App in JavaScript

#html #css #javascript

Stephie John

1606290330

What is ASO for Android & iOS Mobile App?

App Store Optimization is all about improving the visibility of a particular Android /iOS Mobile App on the App Store. Mobile App to optimize? Then go for Best SEO Company in New Zealand

How does ASO Really Work?
ASO is the process of improving the visibility of a mobile app in an app store. Just like search engine optimization (SEO) is for websites, App Store Optimization (ASO) is for mobile apps. Specifically, app store optimization includes the process of ranking highly in an app store’s search results and top charts rankings. Lia Infraservices the Top SEO Company in New Zealand and ASO marketers agrees that ranking higher in search results and top charts rankings will drive more downloads for an app.

ASO Focus on 2 Areas:
A. Search Optimization
B. Behavioral Approach

  1. Search Optimization:
    This part of App Store Optimization focuses on adjusting the name of the app and its keywords. When it comes to SEO services in New Zealand, each app is described by keywords, packed into a 100 character string. These keywords affect search rankings. The better the keywords, the higher the possibility for the app to appear in App Store search results.

/The more often the app appears in search results = the more installs /

Note: The app name is the strongest key phrase.

5 point method to Choose Keywords:
1.Create a list of general keywords based on the app description.
2.Find the Top 5 apps that target the already selected keywords.
3.Find keywords that work best for each of the 5 apps.
4.Now you should have created quite a large list of keywords. Get rid of those which don’t fit your app.
5.Create 100 characters, a comma separated string that contains the best keywords you chose.

  1. Behavioural Approach:
    App Store Optimization is not only about adjusting towards search algorithms, it’s also about human behavior. There are several areas on the Android/iOS Mobile App Store that trigger human decisions to make an install or to abandon it. These are the most important for us:

a.Application name
b.Rating
c.Screenshots / video preview
d.App description

Is your Mobile App Optimized?
When it comes to app downloads and revenue, approach the SEO Company in New Zealand, your app will do much better almost immediately after optimization. If you are interested in learning what the other factors that influence building an organic increase of app popularity are, you should get your mobile app developed by the expert SEO agency in New Zealand. Build your Android & iOS app at Lia Infraservices at cost and time effective.

#seo company in new zealand #seo services in new zealand #seo agency in new zealand #top seo company in new zealand #best seo company in new zealand #top digital marketing company in new zealand

Best App Development Companies in New York

Are you looking for a top mobile app development company in New York? Please find a list of the Best App Development Companies in New York that help to build high-quality, Robust, high-performance mobile app with advanced technology and features at an affordable price.

#best app development companies in new york #top app development companies in new york #custom app development companies in new york #leading app development companies in new york #app development companies in new york

Mobile App Development Companies in New York 2020 – TopDevelopers.co

Are you finding top mobile app development companies in New York? Hire top mobile app developers from New York selected by Topdevelopers.co by their performance.

Listing the elite and most immaculate among the top mobile app development companies and firms is our prime motto at TopDevelopers. We believe in providing the best, probably the most comprehensive companies so that our visitors could get their one-stop solutions. We comprehend in-depth analysis in the process of company selection and filter it at many levels so that only the best comes out. With the plethora of options regarding mobile app development companies available for the users, time becomes an important factor. Thus at TopDevelopers, we render simple and lucid searching options so that the visitor gets the best possible result according to their query and search.

Find Now: List of Best Mobile App Development Firms & Mobile App Developers in New York

#mobile app development service providers in new york #top mobile app development companies in new york #new york based top mobile app development firms #best mobile app developers at new york #new york state #top mobile app developers

Mobile App Development Services in New York

Looking for a Top Mobile App Development Services in New York? AppClues Infotech is a team of professionals dedicated to mobile app development. We provide a wide range of custom mobile app development services at an affordable price with the latest features & tools. Hire us now for mobile app development services to convert your ideas into reality.

Our Mobile App Development Services:

  • Android App Development
  • iOS App Development
  • Flutter App Development
  • Cross-Platform App Development
  • Ionic App Development
  • React Native App Development

For more info:
Call: +1-978-309-9910
Email: info@appcluesinfotech.com

#mobile app development services in new york #custom mobile app development new york #mobile app development new york #mobile app development company in new york #custom ios app development company new york