<?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: Douglas James Butner</title>
    <description>The latest articles on DEV Community by Douglas James Butner (@dougbutner).</description>
    <link>https://dev.to/dougbutner</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%2F455061%2F6f5d498e-e4f1-4aa4-ba9f-fcb6b0dd8ac7.jpg</url>
      <title>DEV Community: Douglas James Butner</title>
      <link>https://dev.to/dougbutner</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/dougbutner"/>
    <language>en</language>
    <item>
      <title>Mystick Mandalas: Wix Studio Challenge</title>
      <dc:creator>Douglas James Butner</dc:creator>
      <pubDate>Mon, 15 Jul 2024 04:59:05 +0000</pubDate>
      <link>https://dev.to/dougbutner/mystick-mandalas-wix-studio-challenge-5b41</link>
      <guid>https://dev.to/dougbutner/mystick-mandalas-wix-studio-challenge-5b41</guid>
      <description>&lt;h1&gt;
  
  
  What I Built
&lt;/h1&gt;

&lt;h2&gt;
  
  
  Mystic Mandalas
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Fractal Art
&lt;/h3&gt;

&lt;p&gt;Sacred Geometry&lt;/p&gt;

&lt;p&gt;Cosmic Vibes.&lt;/p&gt;

&lt;p&gt;Given the prompt to leverage Wix's set of APIs, I saw the opportunity to learn Wix Studio, and give new light some of my old art, some of which was unreleased or unavailable for sale.&lt;/p&gt;

&lt;h1&gt;
  
  
  Demo
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpuj1gmt4a6w5yc74kzye.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpuj1gmt4a6w5yc74kzye.png" alt="Image description" width="800" height="454"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftjiac5p2rfehvckku16q.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftjiac5p2rfehvckku16q.png" alt="Image description" width="800" height="454"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqmvggap9f8n3g7j2lagr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqmvggap9f8n3g7j2lagr.png" alt="Image description" width="800" height="457"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F68g91dq0ighdc2rnwbxf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F68g91dq0ighdc2rnwbxf.png" alt="Image description" width="800" height="454"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://dougbutner.wixstudio.io/mystic-mandalas" rel="noopener noreferrer"&gt;Preview Site&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Development Journey
&lt;/h2&gt;

&lt;p&gt;Having never used Wax before the contest, I highly underestimated the power that would soon be at my fingertips. &lt;/p&gt;

&lt;p&gt;I spent a day reading documentation, playing with the example sites, and watching Wix-related Youtube videos in the background.&lt;/p&gt;

&lt;p&gt;Way more coding went into the 15 test projects than this one I'm submitting, which was a lot of fun and challenging as well. I was a huge user of jQuery, so I love the syntax.&lt;/p&gt;

&lt;p&gt;Then I spent some time trying to connect Wharfkit with Wix, which I never managed to get. Deciding to wait until I was ready to launch a site, I proceeded to learn about other APIs I could use right away.  &lt;/p&gt;

&lt;p&gt;I settled on the plan to just accept wallet names and save them so I could send a NFT that would unlock a future experience. This is better, because it doesn't exclude anyone like token-gating would. &lt;/p&gt;

&lt;h1&gt;
  
  
  Which APIs and Libraries
&lt;/h1&gt;

&lt;p&gt;I started using wax studio and created two custom data sets, one to store quotes, and one to store WAX wallets. &lt;/p&gt;

&lt;p&gt;Wix Editor Elements($w) API was used throughout.&lt;/p&gt;

&lt;p&gt;I used the Wix Data API to get quotes as from the database, and store WAX wallets. &lt;/p&gt;

&lt;p&gt;Boolean to track if they've been sent their NFT, WAX wallet, and date to reward early members. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp1y606e7rbu0eo8tcds3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp1y606e7rbu0eo8tcds3.png" alt="Image description" width="800" height="192"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;My original plan&lt;/p&gt;

&lt;p&gt;I want to talk a little bit about my original plan, a token-gated shopping experience using the Wix eCommerce API.&lt;/p&gt;

&lt;p&gt;A shopper can purchase a downloadable item with dollars, or get it for free if they hold a NFT from Aquarius Academy. &lt;/p&gt;

&lt;h2&gt;
  
  
  Why?
&lt;/h2&gt;

&lt;p&gt;My most influential code project is on WAX a blockchain focused on gaming and NFTs.&lt;/p&gt;

&lt;p&gt;Token gating is a feature that hasn't been easy for non-technical projects in the WAX blockchain community I've been developing with for several years.&lt;/p&gt;

&lt;p&gt;Riffs + Credits&lt;br&gt;
I started with a blank canvas for this contest as per the rules, and used default WIX elements for my site.&lt;/p&gt;

&lt;p&gt;All art is my own work, with exception of AI images all by Dall-E&lt;/p&gt;

&lt;p&gt;Here's the elements I graciously borrowed.  UFO animation&lt;br&gt;
&lt;a href="https://lottiefiles.com/free-animation/ufo-404-Nj3rN5178E?from=search" rel="noopener noreferrer"&gt;https://lottiefiles.com/free-animation/ufo-404-Nj3rN5178E?from=search&lt;/a&gt;&lt;br&gt;
Portal Animation&lt;br&gt;
&lt;a href="https://lottiefiles.com/free-animation/portal-base-KQBBfnHizR?from=search" rel="noopener noreferrer"&gt;https://lottiefiles.com/free-animation/portal-base-KQBBfnHizR?from=search&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Team&lt;/p&gt;

&lt;p&gt;This project was built by &lt;a href="https://github.com/dougbutner" rel="noopener noreferrer"&gt;Douglas Butner&lt;/a&gt; in coordination, solo member of team. &lt;a class="mentioned-user" href="https://dev.to/dougbutner"&gt;@dougbutner&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;Thank you for this opportunity to learn Wix. I enjoy the experience of coding in Wix. &lt;/p&gt;

&lt;p&gt;Edit: added link to preview&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>wixstudiochallenge</category>
      <category>wixstudio</category>
      <category>javascript</category>
    </item>
    <item>
      <title>Get longer responses from ChatGPT / GPT-4: New Personality Demo 🦾🧠</title>
      <dc:creator>Douglas James Butner</dc:creator>
      <pubDate>Thu, 30 Mar 2023 18:15:04 +0000</pubDate>
      <link>https://dev.to/dougbutner/get-longer-responses-from-chatgpt-gpt-4-new-personality-demo-1akp</link>
      <guid>https://dev.to/dougbutner/get-longer-responses-from-chatgpt-gpt-4-new-personality-demo-1akp</guid>
      <description>&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fauf214cg5qruu0m2np4e.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fauf214cg5qruu0m2np4e.gif" alt="Image description" width="800" height="452"&gt;&lt;/a&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/NZ3Nj__c3RA"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;Here's how it works. MaMi is a one-shot personality (like DAN), which stands for [Ma]chine [Mi]nds. For each type of work you'll find a one shot set up with parameters to fill out. MaMi will ask you for approval of her work plan, and once you approve what she wants to do for you, all you have to do is press 'y' until the work is completed.&lt;/p&gt;

&lt;p&gt;You can jump in and not approve anything at any time, and mami will re-adjust according to your requests / requirements&lt;/p&gt;

&lt;p&gt;✨ Unlock the Power of AI and Transform Your Life! ✨&lt;/p&gt;

&lt;p&gt;🔥 Subscribe for FREE 🚀: &lt;a href="https://machineminds.substack.com" rel="noopener noreferrer"&gt;https://machineminds.substack.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Ready to revolutionize your life with cutting-edge AI technology? Discover Machine Minds AI, a leading provider of AI education that helps you unlock the potential of AI to create efficient, personalized, and fulfilling technological experiences.&lt;/p&gt;

&lt;p&gt;🌟 Explore our offerings:&lt;br&gt;
🤘 All Personas, PDFs + Prompt Packs: &lt;a href="https://godsol.gumroad.com" rel="noopener noreferrer"&gt;https://godsol.gumroad.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🤑 👨‍💻 Prompt Engineering for Programmers (PREMIUM)&lt;br&gt;
Master the art of prompt engineering and elevate your projects: &lt;a href="https://godsol.gumroad.com/l/prompt-engineering-for-programmers" rel="noopener noreferrer"&gt;https://godsol.gumroad.com/l/prompt-engineering-for-programmers&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🤖 About Us 🤖&lt;br&gt;
Machine Minds AI is dedicated to revolutionizing the way you interact with technology. We offer top-notch education on AI prompt engineering, programming, and integration, making AI more accessible and user-friendly.&lt;/p&gt;

&lt;p&gt;🚀 Founding&lt;br&gt;
Founded by Douglas Butner (a.k.a. Gudasol), Machine Minds AI was created with a vision to help people navigate the complex world of AI technology. Today, we're proud to be a leading provider of AI education, empowering individuals, businesses, and developers to harness the power of AI.&lt;/p&gt;

&lt;p&gt;🧠 Education&lt;br&gt;
We're transparent about our top premium product, Prompt Engineering for Programmers, and many of our free resources also promote this resource. We offer a range of educational programs in AI prompt engineering, AI programming, and AI integration, helping you gain the skills needed to create extraordinary applications and customer experiences.&lt;/p&gt;

&lt;p&gt;🌐 Social Media Presence&lt;br&gt;
Stay connected with us on Twitter (@MachineMindsAI), YouTube (@MachineMinds_AI), and &lt;a href="https://machineminds.substack.com" rel="noopener noreferrer"&gt;Substack&lt;/a&gt; for the latest updates on free prompt packs, professional AI training, and more!&lt;/p&gt;

&lt;p&gt;Embark on your AI journey with Machine Minds AI today! Subscribe for FREE and explore our premium products to achieve the ultimate AI experience. 💡🚀&lt;/p&gt;

&lt;p&gt;Tags&lt;br&gt;
Machine Minds AI,AI technology,AI education,prompt engineering,programming,Douglas Butner,Gudasol,artificial intelligence,accessible AI education,chatgpt,chat gpt,chatgpt examples,chatgpt explained,openai,productivity,ai,prompt engineering for programmers,programming prompts,coding prompts chatgpt,prompt engineering for code snippets,get better code from gpt,get better code from ChatGPT4,code in gpt4,gpt4 programming,gpt-4,gpt4 code,gpt-4 code&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>gpt3</category>
      <category>chatgpt</category>
    </item>
    <item>
      <title>100+ Rust ChatGPT Prompts 👨‍💻 PDF [Free Resource]</title>
      <dc:creator>Douglas James Butner</dc:creator>
      <pubDate>Wed, 08 Mar 2023 22:59:35 +0000</pubDate>
      <link>https://dev.to/dougbutner/100-rust-chatgpt-prompts-pdf-free-resource-5f55</link>
      <guid>https://dev.to/dougbutner/100-rust-chatgpt-prompts-pdf-free-resource-5f55</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--JwwIjzwS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://files.peakd.com/file/peakd-hive/douglasjames/AKWu6Fdfy4q4kjwv5S1BwFkEdLLqE2jXXzKMb1ebHWWnS9na9rwhk8AyQRm4qRB.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--JwwIjzwS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://files.peakd.com/file/peakd-hive/douglasjames/AKWu6Fdfy4q4kjwv5S1BwFkEdLLqE2jXXzKMb1ebHWWnS9na9rwhk8AyQRm4qRB.png" alt="Screen Shot 2023-03-08 at 1.59.39 PM.png" width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  &lt;a href="https://godsol.gumroad.com/l/rust-prompts" rel="noopener noreferrer"&gt;🤩 Download All the prompts free on Gumroad&lt;/a&gt;
&lt;/h1&gt;

&lt;p&gt;&lt;em&gt;due to length constraints, this article contains less than half&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--XINYZEBN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://files.peakd.com/file/peakd-hive/douglasjames/AJeces2Y7Fz4p5aWaUzZL64jcofiyha9MoMh59hw9sEEpbwH94w5x8gdQAx5HMi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--XINYZEBN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://files.peakd.com/file/peakd-hive/douglasjames/AJeces2Y7Fz4p5aWaUzZL64jcofiyha9MoMh59hw9sEEpbwH94w5x8gdQAx5HMi.png" alt="Screen Shot 2023-03-08 at 2.04.32 PM.png" width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Turn these prompts into Real Apps.
&lt;/h1&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;For the Power-Programmer&lt;/em&gt; 👨‍💻☕️&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Hungry minds will find wisdom in &lt;a href="https://godsol.gumroad.com/l/prompt-engineering-for-programmers" rel="noopener noreferrer"&gt;Prompt Engineering for Programmers&lt;/a&gt;&lt;/strong&gt; our complete BUNDLE that includes all current + future training, prompts packs, PDFs &amp;amp; all updates.&lt;/p&gt;




&lt;p&gt;Explore the power of Rust with ChatGPT. &lt;/p&gt;

&lt;h2&gt;
  
  
  Using these prompts
&lt;/h2&gt;

&lt;p&gt;👨‍🏫 This resource is designed to quickly show you the power of chatGPT and serve as a starting point for exploration.&lt;/p&gt;

&lt;p&gt;Copy and paste these into &lt;a href="https://chat.openai.com/" rel="noopener noreferrer"&gt;https://chat.openai.com/&lt;/a&gt;  to see what you get. I’ve also added some responses here. Further explore editing the prompts, trying to direct the AI, and taking the step-by-step responses as new prompts to feed the bot. Enjoy!&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Next Step&lt;/strong&gt;: We also sell &lt;a href="https://godsol.gumroad.com/l/prompt-engineering-for-programmers" rel="noopener noreferrer"&gt;&lt;strong&gt;advanced training&lt;/strong&gt;&lt;/a&gt; for programming with ChatGPT.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Learning Rust (New Concepts)
&lt;/h2&gt;

&lt;h2&gt;
  
  
  Ownership and Borrowing:
&lt;/h2&gt;

&lt;p&gt;What are the benefits of Rust's ownership and borrowing system?&lt;/p&gt;

&lt;p&gt;How does Rust prevent common memory-related bugs like null pointers and dangling pointers?&lt;/p&gt;

&lt;p&gt;Can you explain the difference between mutable and immutable borrowing in Rust?&lt;/p&gt;

&lt;h2&gt;
  
  
  Traits:
&lt;/h2&gt;

&lt;p&gt;How do traits help with generic programming in Rust?&lt;/p&gt;

&lt;p&gt;Can you provide an example of a custom trait in Rust?&lt;/p&gt;

&lt;p&gt;What is the difference between a trait object and a generic type parameter in Rust?&lt;/p&gt;

&lt;h2&gt;
  
  
  Lifetimes:
&lt;/h2&gt;

&lt;p&gt;What is a lifetime in Rust and how is it different from a scope?&lt;/p&gt;

&lt;p&gt;How does Rust's borrow checker use lifetimes to prevent dangling pointers?&lt;/p&gt;

&lt;p&gt;Can you explain the difference between 'static and 'a lifetimes in Rust?&lt;/p&gt;

&lt;h2&gt;
  
  
  Pattern Matching:
&lt;/h2&gt;

&lt;p&gt;What is pattern matching and how is it used in Rust?&lt;/p&gt;

&lt;p&gt;How can pattern matching be used with enums and structs in Rust?&lt;/p&gt;

&lt;h2&gt;
  
  
  Concurrency:
&lt;/h2&gt;

&lt;p&gt;What are some of the built-in concurrency primitives in Rust?&lt;/p&gt;

&lt;p&gt;How does Rust's ownership and borrowing system make writing concurrent code safer?&lt;/p&gt;

&lt;p&gt;Can you provide an example of a multi-threaded Rust program?&lt;/p&gt;

&lt;h2&gt;
  
  
  Macros:
&lt;/h2&gt;

&lt;p&gt;What are macros and how are they used in Rust?&lt;/p&gt;

&lt;p&gt;Can you provide an example of a macro in Rust?&lt;/p&gt;

&lt;p&gt;How can macros be used to generate code at compile time in Rust?&lt;/p&gt;

&lt;h2&gt;
  
  
  Error Handling:
&lt;/h2&gt;

&lt;p&gt;What are some of the built-in error handling mechanisms in Rust?&lt;/p&gt;

&lt;p&gt;How does Rust's error handling system differ from other programming languages?&lt;/p&gt;

&lt;p&gt;Can you provide an example of how to use the Result and Option types in Rust?&lt;/p&gt;

&lt;h2&gt;
  
  
  Systems Programming
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="nx"&gt;Build&lt;/span&gt; &lt;span class="nx"&gt;a&lt;/span&gt; &lt;span class="nx"&gt;system&lt;/span&gt; &lt;span class="nx"&gt;daemon&lt;/span&gt; &lt;span class="nx"&gt;that&lt;/span&gt; &lt;span class="nx"&gt;monitors&lt;/span&gt; &lt;span class="nx"&gt;system&lt;/span&gt; &lt;span class="nx"&gt;resource&lt;/span&gt; &lt;span class="nx"&gt;usage&lt;/span&gt; &lt;span class="nx"&gt;and&lt;/span&gt; &lt;span class="nx"&gt;logs&lt;/span&gt; &lt;span class="nx"&gt;events&lt;/span&gt; &lt;span class="nx"&gt;to&lt;/span&gt; &lt;span class="nx"&gt;a&lt;/span&gt; &lt;span class="nx"&gt;file&lt;/span&gt; &lt;span class="nx"&gt;using&lt;/span&gt; &lt;span class="nx"&gt;the&lt;/span&gt; &lt;span class="nx"&gt;Rust&lt;/span&gt; &lt;span class="nx"&gt;Standard&lt;/span&gt; &lt;span class="nx"&gt;Library&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt; &lt;span class="nx"&gt;Use&lt;/span&gt; &lt;span class="nx"&gt;the&lt;/span&gt; &lt;span class="nx"&gt;log&lt;/span&gt; &lt;span class="nx"&gt;crate&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="nx"&gt;logging&lt;/span&gt; &lt;span class="nx"&gt;and&lt;/span&gt; &lt;span class="nx"&gt;the&lt;/span&gt; &lt;span class="nx"&gt;signal&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;hook&lt;/span&gt; &lt;span class="nx"&gt;crate&lt;/span&gt; &lt;span class="nx"&gt;to&lt;/span&gt; &lt;span class="nx"&gt;handle&lt;/span&gt; &lt;span class="nx"&gt;system&lt;/span&gt; &lt;span class="nx"&gt;signals&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Develop a network application that implements a custom protocol using Rust's TCP and UDP socket libraries. Use the nix crate for low-level system programming and the futures crate for asynchronous programming.&lt;/p&gt;

&lt;p&gt;Create a file management tool that allows users to copy, move, and delete files and directories using Rust's standard filesystem library. Use the clap crate for command-line argument parsing and the indicatif crate for progress bars.&lt;/p&gt;

&lt;p&gt;Build a simple web server that handles HTTP requests and serves static files using the Iron web framework and Rust's standard HTTP libraries. Use the chrono crate for handling dates and times and the openssl crate for secure communication.&lt;/p&gt;

&lt;p&gt;Develop a low-level library for interfacing with a hardware device using Rust's Foreign Function Interface (FFI) and the libc crate. Use the crossbeam crate for safe concurrent programming and the rust-crypto crate for encryption and hashing.&lt;/p&gt;

&lt;p&gt;Create a CLI tool that allows users to manipulate audio files using the Rust's audio crate. Use the clap crate for command-line argument parsing and the hound crate for audio file I/O.&lt;/p&gt;

&lt;p&gt;Build a network daemon that listens for incoming connections and manages a pool of worker threads using Rust's standard thread libraries and the crossbeam-channel crate for inter-thread communication. Use the rustls crate for secure communication.&lt;/p&gt;

&lt;p&gt;Develop a command-line tool for converting between different image formats using Rust's image processing library and the clap crate for command-line argument parsing. Use the rayon crate for parallel processing.&lt;/p&gt;

&lt;p&gt;Create a system service that monitors a directory for changes and logs events to a file using the notify crate. Use the chrono crate for handling dates and times and the slog crate for logging.&lt;/p&gt;

&lt;p&gt;Build a command-line tool that encrypts and decrypts files using Rust's cryptography libraries and the clap crate for command-line argument parsing. Use the rand crate for generating random numbers.&lt;/p&gt;

&lt;p&gt;Develop a low-level library for interfacing with a Bluetooth device using Rust's FFI and the BlueZ Bluetooth stack. Use the nix crate for low-level system programming and the futures crate for asynchronous programming.&lt;/p&gt;

&lt;p&gt;Create a CLI tool that allows users to manipulate PDF files using the Rust's PDF processing libraries and the clap crate for command-line argument parsing. Use the rayon crate for parallel processing.&lt;/p&gt;

&lt;p&gt;Build a system daemon that monitors and logs changes to system configuration files using Rust's standard filesystem libraries and the notify crate. Use the serde crate for serialization and deserialization.&lt;/p&gt;

&lt;p&gt;Develop a command-line tool that generates random passwords using Rust's cryptography libraries and the clap crate for command-line argument parsing. Use the rand crate for generating random numbers.&lt;/p&gt;

&lt;p&gt;Create a low-level library for interfacing with a USB device using Rust's FFI and the libusb library. Use the nix crate for low-level system programming and the futures crate for asynchronous programming.&lt;/p&gt;

&lt;p&gt;Build a command-line tool that allows users to manage system processes using Rust's standard process libraries and the clap crate for command-line argument parsing. Use the regex crate for string manipulation.&lt;/p&gt;

&lt;p&gt;Develop a system daemon that manages a pool of worker threads and communicates with them using Rust's standard thread libraries and the crossbeam-channel crate. Use the chrono crate for handling dates and times and the slog crate for logging.&lt;/p&gt;

&lt;p&gt;Create a low-level library for interfacing with a Serial device using Rust's FFI and the serialport library. Use the nix crate for low-level system programming and the futures crate for asynchronous programming.&lt;/p&gt;

&lt;h2&gt;
  
  
  DevOps
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="nx"&gt;Build&lt;/span&gt; &lt;span class="nx"&gt;a&lt;/span&gt; &lt;span class="nx"&gt;Continuous&lt;/span&gt; &lt;span class="nx"&gt;Integration&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;Continuous&lt;/span&gt; &lt;span class="nc"&gt;Deployment &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;CI&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;CD&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="nx"&gt;pipeline&lt;/span&gt; &lt;span class="nx"&gt;using&lt;/span&gt; &lt;span class="nx"&gt;Rust&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;s DevOps library, Rust CI/CD, and the Jenkins automation server. Use the clap crate for command-line argument parsing and the serde crate for serialization and deserialization.
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Develop a tool for infrastructure automation using Rust's DevOps library, Rust Chef, and the Chef configuration management tool. Use the clap crate for command-line argument parsing and the serde crate for serialization and deserialization.&lt;/p&gt;

&lt;p&gt;Create a tool for container orchestration using Rust's DevOps library, Rust Kubernetes, and the Kubernetes container orchestration system. Use the clap crate for command-line argument parsing and the serde crate for serialization and deserialization.&lt;/p&gt;

&lt;p&gt;Build a serverless infrastructure using Rust's DevOps library, Rust Serverless, and the AWS Lambda service. Use the clap crate for command-line argument parsing and the serde crate for serialization and deserialization.&lt;/p&gt;

&lt;p&gt;Develop a tool for continuous monitoring using Rust's DevOps library, Rust Prometheus, and the Prometheus monitoring system. Use the clap crate for command-line argument parsing and the serde crate for serialization and deserialization.&lt;/p&gt;

&lt;p&gt;Create a tool for log management using Rust's DevOps library, Rust Logstash, and the Logstash logging pipeline. Use the clap crate for command-line argument parsing and the serde crate for serialization and deserialization.&lt;/p&gt;

&lt;p&gt;Build a Continuous Integration/Continuous Deployment (CI/CD) pipeline using Rust's DevOps library, Rust Travis, and the Travis CI/CD platform. Use the clap crate for command-line argument parsing and the serde crate for serialization and deserialization.&lt;/p&gt;

&lt;p&gt;Develop a tool for infrastructure testing using Rust's DevOps library, Rust Terraform, and the Terraform infrastructure as code tool. Use the clap crate for command-line argument parsing and the serde crate for serialization and deserialization.&lt;/p&gt;

&lt;p&gt;Create a tool for container security using Rust's DevOps library, Rust Clair, and the Clair container security scanner. Use the clap crate for command-line argument parsing and the serde crate for serialization and deserialization.&lt;/p&gt;

&lt;p&gt;Build a serverless application using Rust's DevOps library, Rust AWS Lambda, and the AWS Lambda service. Use the clap crate for command-line argument parsing and the serde crate for serialization and deserialization.&lt;/p&gt;

&lt;p&gt;Develop a tool for infrastructure visualization using Rust's DevOps library, Rust Graphviz, and the Graphviz graph visualization software. Use the clap crate for command-line argument parsing and the serde crate for serialization and deserialization.&lt;/p&gt;

&lt;p&gt;Create a tool for container monitoring using Rust's DevOps library, Rust Prometheus, and the Prometheus monitoring system. Use the clap crate for command-line argument parsing and the serde crate for serialization and deserialization.&lt;/p&gt;

&lt;p&gt;Build a Continuous Integration/Continuous Deployment (CI/CD) pipeline using Rust's DevOps library, Rust CircleCI, and the CircleCI CI/CD platform. Use the clap crate for command-line argument parsing and the serde crate for serialization and deserialization.&lt;/p&gt;

&lt;p&gt;Develop a tool for infrastructure as code using Rust's DevOps library, Rust Ansible, and the Ansible configuration management tool. Use the clap crate for command-line argument parsing and the serde crate for serialization and deserialization.&lt;/p&gt;

&lt;p&gt;Create a tool for container orchestration using Rust's DevOps library, Rust Nomad, and the Nomad container orchestration system. Use the clap crate for command-line argument parsing and the serde crate for serialization and deserialization.&lt;/p&gt;

&lt;p&gt;Build a serverless application using Rust's DevOps library, Rust Google Cloud Functions, and the Google Cloud Functions service. Use the clap crate for command-line argument parsing and the serde crate for serialization and deserialization.&lt;/p&gt;

&lt;h2&gt;
  
  
  DevOps and Infrastructure
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="nx"&gt;Create&lt;/span&gt; &lt;span class="nx"&gt;an&lt;/span&gt; &lt;span class="nx"&gt;infrastructure&lt;/span&gt; &lt;span class="nx"&gt;deployment&lt;/span&gt; &lt;span class="nx"&gt;tool&lt;/span&gt; &lt;span class="nx"&gt;that&lt;/span&gt; &lt;span class="nx"&gt;utilizes&lt;/span&gt; &lt;span class="nx"&gt;the&lt;/span&gt; &lt;span class="nx"&gt;Terraform&lt;/span&gt; &lt;span class="nx"&gt;library&lt;/span&gt; &lt;span class="nx"&gt;to&lt;/span&gt; &lt;span class="nx"&gt;provision&lt;/span&gt; &lt;span class="nx"&gt;and&lt;/span&gt; &lt;span class="nx"&gt;manage&lt;/span&gt; &lt;span class="nx"&gt;cloud&lt;/span&gt; &lt;span class="nx"&gt;infrastructure&lt;/span&gt; &lt;span class="nx"&gt;resources&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt; &lt;span class="nx"&gt;Use&lt;/span&gt; &lt;span class="nx"&gt;Rust&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;s standard HTTP and JSON libraries to communicate with cloud provider APIs. Use the clap crate for command-line argument parsing.
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Build a continuous integration and continuous deployment (CI/CD) pipeline that utilizes the Gitlab CI/CD platform and Rust's standard process libraries for build and deployment automation. Use the log crate for logging and the dotenv crate for environment variable management.&lt;/p&gt;

&lt;p&gt;Develop a monitoring and alerting tool that utilizes the Prometheus monitoring system and Rust's standard HTTP libraries to monitor system metrics and generate alerts. Use the chrono crate for handling dates and times and the serde crate for serialization and deserialization.&lt;/p&gt;

&lt;p&gt;Create a tool for managing and orchestrating Docker containers using the Docker SDK for Rust and Rust's standard process libraries. Use the clap crate for command-line argument parsing and the log crate for logging.&lt;/p&gt;

&lt;p&gt;Build an infrastructure-as-code (IaC) tool that utilizes the CloudFormation template language to provision and manage cloud infrastructure resources. Use Rust's standard HTTP and JSON libraries to communicate with cloud provider APIs. Use the clap crate for command-line argument parsing.&lt;/p&gt;

&lt;p&gt;Develop a tool for managing and automating Kubernetes cluster deployments and configuration using the Kubernetes API and Rust's standard HTTP libraries. Use the chrono crate for handling dates and times and the log crate for logging.&lt;/p&gt;

&lt;p&gt;Create a tool for managing and automating AWS Lambda functions using the AWS SDK for Rust and Rust's standard process libraries. Use the clap crate for command-line argument parsing and the log crate for logging.&lt;/p&gt;

&lt;p&gt;Build a tool for managing and automating AWS EC2 instances using the AWS SDK for Rust and Rust's standard process libraries. Use the chrono crate for handling dates and times and the serde crate for serialization and deserialization.&lt;/p&gt;

&lt;p&gt;Develop a tool for automating cloud backup and recovery using Rust's standard filesystem libraries and cloud provider APIs. Use the clap crate for command-line argument parsing and the log crate for logging.&lt;/p&gt;

&lt;p&gt;Create a tool for managing and automating AWS S3 object storage using the AWS SDK for Rust and Rust's standard process libraries. Use the clap crate for command-line argument parsing and the serde crate for serialization and deserialization.&lt;/p&gt;

&lt;p&gt;Build a tool for managing and automating AWS DynamoDB NoSQL databases using the AWS SDK for Rust and Rust's standard process libraries. Use the chrono crate for handling dates and times and the serde crate for serialization and deserialization.&lt;/p&gt;

&lt;p&gt;Develop a tool for automating infrastructure security audits and vulnerability scans using the RustScan network scanner and Rust's standard process libraries. Use the log crate for logging and the serde crate for serialization and deserialization.&lt;/p&gt;

&lt;p&gt;Create a tool for automating cloud cost optimization using the AWS Cost Explorer API and Rust's standard HTTP libraries. Use the clap crate for command-line argument parsing and the chrono crate for handling dates and times.&lt;/p&gt;

&lt;p&gt;Build a tool for managing and automating AWS Elastic Load Balancers using the AWS SDK for Rust and Rust's standard process libraries. Use the log crate for logging and the clap crate for command-line argument parsing.&lt;/p&gt;

&lt;p&gt;Develop a tool for automating the management of DNS records using the AWS Route 53 API and Rust's standard HTTP libraries. Use the chrono crate for handling dates and times and the serde crate for serialization and deserialization.&lt;/p&gt;

&lt;p&gt;Create a tool for automating the management of SSL/TLS certificates using the Let's Encrypt API and Rust's standard HTTP libraries. Use the clap crate for command-line argument parsing and the log crate for logging.&lt;/p&gt;

&lt;h2&gt;
  
  
  Data Science
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="nx"&gt;Develop&lt;/span&gt; &lt;span class="nx"&gt;a&lt;/span&gt; &lt;span class="nx"&gt;data&lt;/span&gt; &lt;span class="nx"&gt;preprocessing&lt;/span&gt; &lt;span class="nx"&gt;pipeline&lt;/span&gt; &lt;span class="nx"&gt;using&lt;/span&gt; &lt;span class="nx"&gt;Rust&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;s ndarray library for numerical computing and the csv crate for data loading and serialization. Use the clap crate for command-line argument parsing and the chrono crate for handling dates and times.
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Create a tool for exploratory data analysis using Rust's statistical computing library, Statrs, and the ggplot crate for data visualization. Use the clap crate for command-line argument parsing and the serde crate for serialization and deserialization.&lt;/p&gt;

&lt;p&gt;Build a machine learning model for classification using the Rust machine learning library, Leaf, and the mnist crate for image data loading. Use the clap crate for command-line argument parsing and the serde crate for serialization and deserialization.&lt;/p&gt;

&lt;p&gt;Develop a tool for natural language processing using Rust's NLP library, rust-nlp, and the conllx crate for parsing and serialization of CoNLL-X format data. Use the clap crate for command-line argument parsing and the serde crate for serialization and deserialization.&lt;/p&gt;

&lt;p&gt;Create a tool for time series analysis using Rust's Time Series Library, TSL, and the chrono crate for handling dates and times. Use the clap crate for command-line argument parsing and the serde crate for serialization and deserialization.&lt;/p&gt;

&lt;p&gt;Build a recommender system using the Rust recommendation library, rusty-machine, and the MovieLens dataset for collaborative filtering. Use the clap crate for command-line argument parsing and the serde crate for serialization and deserialization.&lt;/p&gt;

&lt;p&gt;Develop a tool for clustering using Rust's machine learning library, Leaf, and the kmeans crate for clustering algorithms. Use the clap crate for command-line argument parsing and the serde crate for serialization and deserialization.&lt;/p&gt;

&lt;p&gt;Create a tool for anomaly detection using Rust's machine learning library, rusty-machine, and the credit-card-fraud dataset for supervised anomaly detection. Use the clap crate for command-line argument parsing and the serde crate for serialization and deserialization.&lt;/p&gt;

&lt;p&gt;Build a tool for feature selection using Rust's machine learning library, rusty-machine, and the bioactivity dataset for selecting features in drug discovery. Use the clap crate for command-line argument parsing and the serde crate for serialization and deserialization.&lt;/p&gt;

&lt;p&gt;Develop a tool for deep learning using Rust's machine learning library, tract, and the MNIST dataset for image recognition. Use the clap crate for command-line argument parsing and the serde crate for serialization and deserialization.&lt;/p&gt;

&lt;p&gt;Create a tool for data visualization using Rust's plotting library, plotters, and the iris dataset for plotting scatterplots and histograms. Use the clap crate for command-line argument parsing and the serde crate for serialization and deserialization.&lt;/p&gt;

&lt;p&gt;Build a tool for time series forecasting using Rust's machine learning library, rusty-machine, and the electric load dataset for forecasting electric load. Use the clap crate for command-line argument parsing and the serde crate for serialization and deserialization.&lt;/p&gt;

&lt;p&gt;Develop a tool for association rule mining using Rust's machine learning library, rusty-machine, and the Adult dataset for market basket analysis. Use the clap crate for command-line argument parsing and the serde crate for serialization and deserialization.&lt;/p&gt;

&lt;p&gt;Create a tool for hyperparameter tuning using Rust's machine learning library, rusty-machine, and the iris dataset for tuning classification models. Use the clap crate for command-line argument parsing and the serde crate for serialization and deserialization.&lt;/p&gt;

&lt;p&gt;Build a tool for data cleaning using Rust's data cleaning library, scrubcsv, and the adult dataset for cleaning and transforming data. Use the clap crate for command-line argument parsing and the serde crate for serialization and deserialization.&lt;/p&gt;

&lt;p&gt;Develop a tool for regression using Rust's machine learning library, rusty-machine, and the wine quality dataset for predicting wine quality. Use the clap crate for command-line argument parsing and the serde crate for serialization and deserialization.&lt;/p&gt;

&lt;h2&gt;
  
  
  Game Development
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Develop a 2D game using the Amethyst game engine and Rust's 2D graphics library, gfx-hal. Use the specs crate for entity-component-system architecture and the nalgebra crate for linear algebra.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Build a 3D game using the Piston game engine and Rust's 3D graphics library, gfx-hal. Use the specs crate for entity-component-system architecture and the nalgebra crate for linear algebra.&lt;/p&gt;

&lt;p&gt;Create a tool for generating procedural terrain using Rust's 3D graphics library, gfx-hal, and the noise crate for noise generation. Use the clap crate for command-line argument parsing and the serde crate for serialization and deserialization.&lt;/p&gt;

&lt;p&gt;Build a physics engine using Rust's physics library, nphysics, and the nalgebra crate for linear algebra. Use the clap crate for command-line argument parsing and the serde crate for serialization and deserialization.&lt;/p&gt;

&lt;p&gt;Develop a tool for creating custom shaders using Rust's 3D graphics library, gfx-hal, and the spirv-reflect crate for reflection of shader code. Use the clap crate for command-line argument parsing and the serde crate for serialization and deserialization.&lt;/p&gt;

&lt;p&gt;Develop a tool for level design using Rust's game engine, Bevy, and the Tiled Map Editor. Use the clap crate for command-line argument parsing and the serde crate for serialization and deserialization.&lt;/p&gt;

&lt;p&gt;Create a tool for game asset management using Rust's game engine, Piston, and the Glium crate for graphics. Use the clap crate for command-line argument parsing and the serde crate for serialization and deserialization.&lt;/p&gt;

&lt;p&gt;Build a real-time strategy game using Rust's game engine, Amethyst, and the nphysics crate for physics simulation. Use the nalgebra crate for linear algebra and the specs crate for entity-component-system architecture.&lt;/p&gt;

&lt;p&gt;Develop a tool for game audio using Rust's game engine, GGEZ, and the Rodio crate for audio playback. Use the clap crate for command-line argument parsing and the serde crate for serialization and deserialization.&lt;/p&gt;

&lt;p&gt;Create a tool for game scripting using Rust's game engine, RustyScript, and the rhai crate for scripting. Use the clap crate for command-line argument parsing and the serde crate for serialization and deserialization.&lt;/p&gt;

&lt;p&gt;Build a puzzle game using Rust's game engine, Bevy, and the Ggez crate for graphics. Use the nalgebra crate for linear algebra and the specs crate for entity-component-system architecture.&lt;/p&gt;

&lt;p&gt;Develop a tool for game localization using Rust's game engine, Amethyst, and the Fluent crate for localization. Use the clap crate for command-line argument parsing and the serde crate for serialization and deserialization.&lt;/p&gt;

&lt;p&gt;Create a tool for game networking using Rust's game engine, Rust Multiplayer, and the ENet crate for networking. Use the clap crate for command-line argument parsing and the serde crate for serialization and deserialization.&lt;/p&gt;

&lt;p&gt;Build a platformer game using Rust's game engine, Amethyst, and the nphysics crate for physics simulation. Use the nalgebra crate for linear algebra and the specs crate for entity-component-system architecture.&lt;/p&gt;

&lt;p&gt;Develop a tool for game replay using Rust's game engine, Rust Replay, and the Serde crate for serialization and deserialization. Use the clap crate for command-line argument parsing.&lt;/p&gt;

&lt;p&gt;Create a tool for game profiling using Rust's game engine, Rusty Profiler, and the cpuprofiler crate for profiling. Use the clap crate for command-line argument parsing and the serde crate for serialization and deserialization.&lt;/p&gt;

&lt;p&gt;Build a multiplayer game using Rust's game engine, Bevy, and the WebSocket crate for real-time communication. Use the nalgebra crate for linear algebra and the specs crate for entity-component-system architecture.&lt;/p&gt;

&lt;p&gt;Develop a tool for game AI using Rust's game engine, Rust AI, and the smai crate for AI programming. Use the clap crate for command-line argument parsing and the serde crate for serialization and deserialization.&lt;/p&gt;

&lt;p&gt;Create a tool for game physics simulation using Rust's game engine, Rust Physics, and the nphysics crate for physics simulation. Use the clap crate for command-line argument parsing and the serde crate for serialization and deserialization.&lt;/p&gt;

&lt;p&gt;Build a racing game using Rust's game engine, Amethyst, and the nphysics crate for physics simulation. Use the nalgebra crate for linear algebra and the specs crate for entity-component-system architecture.&lt;/p&gt;

&lt;p&gt;Create a tool for debugging and profiling Rust game code using the gperftools crate for profiling and the log crate for logging. Use the clap crate for command-line argument parsing and the serde crate for serialization and deserialization.&lt;/p&gt;

&lt;p&gt;Build a 2D game engine using Rust's 2D graphics library, Piston, and the specs crate for entity-component-system architecture. Use the serde crate for serialization and deserialization and the nalgebra crate for linear algebra.&lt;/p&gt;

&lt;p&gt;Develop a tool for creating custom game assets using Rust's 2D graphics library, gfx-hal, and the image crate for image loading and serialization. Use the clap crate for command-line argument parsing and the serde crate for serialization and deserialization.&lt;/p&gt;

&lt;p&gt;Create a tool for generating game levels using Rust's 2D graphics library, Piston, and the noise crate for noise generation. Use the clap crate for command-line argument parsing and the serde crate for serialization and deserialization.&lt;/p&gt;

&lt;p&gt;Build a 3D game engine using Rust's 3D graphics library, gfx-hal, and the nalgebra crate for linear algebra. Use the specs crate for entity-component-system architecture and the serde crate for serialization and deserialization.&lt;/p&gt;

&lt;p&gt;Develop a tool for creating custom particle systems using Rust's 2D graphics library, gfx-hal, and the specs crate for entity-component-system architecture. Use the clap crate for command-line argument parsing and the serde crate for serialization and deserialization.&lt;/p&gt;

&lt;p&gt;Create a tool for debugging and profiling Rust game code using the tracing crate for tracing and the log crate for logging. Use the clap crate for command-line argument parsing and the serde crate for serialization and deserialization.&lt;/p&gt;

&lt;p&gt;Build a 2D platformer game using Rust's 2D graphics library, Piston, and the specs crate for entity-component-system architecture. Use the nalgebra crate for linear algebra and the serde crate for serialization and deserialization.&lt;/p&gt;

&lt;p&gt;Develop a tool for creating custom animations using Rust's 2D graphics library, gfx-hal, and the specs crate for entity-component-system architecture. Use the clap crate for command-line argument parsing and the serde crate for serialization and deserialization.&lt;/p&gt;

&lt;p&gt;Create a tool for generating game music using Rust's audio library, rodio, and the cpal crate for audio processing. Use the clap crate for command-line argument parsing and the serde crate for serialization and deserialization.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://youtu.be/mMGC9aHpAFI" rel="noopener noreferrer"&gt;https://youtu.be/mMGC9aHpAFI&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Hi there 👋 I'm Gudasol, Welcome to my Hive Blog
&lt;/h1&gt;




&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--lLh2y3mp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://files.peakd.com/file/peakd-hive/douglasjames/23tc1o29MzWYnHJJDP3gbz63aHDWjaJMMDpNUECd6WtBJetNiD1dJopGUekhkX2FK2z9V.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--lLh2y3mp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://files.peakd.com/file/peakd-hive/douglasjames/23tc1o29MzWYnHJJDP3gbz63aHDWjaJMMDpNUECd6WtBJetNiD1dJopGUekhkX2FK2z9V.png" alt="Gudasol-Type-Only[WhtOnBlk].png" width="800" height="146"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
&lt;center&gt;&lt;b&gt; 
 &lt;a href="https://www.douglas.life/old-magic" rel="noopener noreferrer"&gt;🧙‍♂️ Mystic&lt;/a&gt; ~ &lt;a href="https://www.skillshare.com/r/user/douglasbutner?gr_tch_ref=on&amp;amp;gr_trp=on" rel="noopener noreferrer"&gt;👨‍🏫 Teacher&lt;/a&gt; ~ &lt;a href="https://github.com/dougbutner" rel="noopener noreferrer"&gt;👨‍💻 Coder&lt;/a&gt; ~ &lt;a href="https://soundcloud.com/sirdouglasfresh/popular-tracks" rel="noopener noreferrer"&gt;🎙 Rapper&lt;/a&gt; ~ &lt;a href="https://www.redbubble.com/people/SirDouglasFresh/shop" rel="noopener noreferrer"&gt;🎨 Designer&lt;/a&gt;&lt;/b&gt;&lt;/center&gt;
&lt;/h3&gt;




&lt;h3&gt;
  
  
  I built &lt;a href="https://music.cxc.world" rel="noopener noreferrer"&gt;cXc.world&lt;/a&gt; 🗺
&lt;/h3&gt;

&lt;h3&gt;
  
  
  I teach a model of &lt;a href="https://aquarius.academy/711/" rel="noopener noreferrer"&gt;Universal Consciousness&lt;/a&gt; 🪐
&lt;/h3&gt;

&lt;h2&gt;
  
  
  I'm the rapper &lt;a href="https://ampl.ink/gudasol" rel="noopener noreferrer"&gt;Gudasol 🜛&lt;/a&gt; 🌞
&lt;/h2&gt;




&lt;blockquote&gt;
&lt;p&gt;my php 🏡 &lt;strong&gt;&lt;a href="https://douglas.life/" rel="noopener noreferrer"&gt;douglas.life&lt;/a&gt;&lt;/strong&gt; &lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;🔭 I’m currently building: &lt;a href="https://music.cxc.world" rel="noopener noreferrer"&gt;cXc.world&lt;/a&gt;, &lt;a href="https://aquarius.academy/" rel="noopener noreferrer"&gt;Aquarius.Academy&lt;/a&gt; and side project &lt;a href="https://github.com/dougbutner/gold" rel="noopener noreferrer"&gt;$GOLD + $SILVER&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;🌞 I’m looking to collaborate on: &lt;a href="https://github.com/dougbutner/beta-pseudo" rel="noopener noreferrer"&gt;cXc.world Smart Contracts (EOSIO)&lt;/a&gt; and &lt;a href="https://github.com/dougbutner/web-4" rel="noopener noreferrer"&gt;Web 4&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;✋ Grow with us, join &lt;a href="https://discord.gg/u3kpj7xEWZ" rel="noopener noreferrer"&gt;cXc discord&lt;/a&gt;, &lt;a href="https://discord.gg/KnbA47n6Zj" rel="noopener noreferrer"&gt;Aquarius Academy discord&lt;/a&gt;, and &lt;a href="https://discord.gg/D6QnUrDyr7" rel="noopener noreferrer"&gt;Gudasol discord&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;💬 I love to talk about: &lt;a href="https://github.com/dougbutner/web-4" rel="noopener noreferrer"&gt;Web 4&lt;/a&gt;, Geotemporal Systems, Biomimetic Economics, Fractal Information, Platonic Solids, Collective Participation Income (CPI), Time Tokens, Channeling, Flow State, Galactic Consciousness.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;🌎 Fun fact: I have been a Digital Nomad for over 5 years!! Living mostly in Latin America. Currently in Medellin, CO.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Let's Connect
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://instagram.com/iammonlove" rel="noopener noreferrer"&gt;Instagram&lt;/a&gt; | &lt;a href="https://t.me/godsolislove" rel="noopener noreferrer"&gt;Telegram&lt;/a&gt; | &lt;a href="https://twitter.com/dougbutner" rel="noopener noreferrer"&gt;Twitter&lt;/a&gt; | &lt;a href="https://discord.gg/D6QnUrDyr7" rel="noopener noreferrer"&gt;Discord&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Find My Latest on &lt;a href="https://linktr.ee/iammonlove" rel="noopener noreferrer"&gt;Linktree 🔗🌳&lt;/a&gt;
&lt;/h2&gt;




&lt;h1&gt;
&lt;center&gt;&lt;a href="https://godsol.gumroad.com/" alt="Douglas Butner Gumroad" rel="noopener noreferrer"&gt;🗳 Freebies + Downloads on Gumroad ✅&lt;/a&gt;&lt;/center&gt;
&lt;/h1&gt;

&lt;h1&gt;
  
  
  Turn these prompts into Real Apps.
&lt;/h1&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;For the Power-Programmer&lt;/em&gt; 👨‍💻☕️&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Hungry minds will find wisdom in &lt;a href="https://godsol.gumroad.com/l/prompt-engineering-for-programmers" rel="noopener noreferrer"&gt;Prompt Engineering for Programmers&lt;/a&gt;&lt;/strong&gt; our complete BUNDLE that includes all current + future training, prompts packs, PDFs &amp;amp; all updates.&lt;/p&gt;




&lt;h1&gt;
  
  
  &lt;a href="https://godsol.gumroad.com/l/rust-prompts" rel="noopener noreferrer"&gt;🤩 Download All the prompts free on Gumroad&lt;/a&gt;
&lt;/h1&gt;

&lt;p&gt;&lt;em&gt;due to length constraints, this article contains less than half&lt;/em&gt;&lt;/p&gt;

</description>
      <category>rust</category>
      <category>beginners</category>
      <category>programming</category>
      <category>chatgpt</category>
    </item>
    <item>
      <title>Explore the power of Rust with ChatGPT.</title>
      <dc:creator>Douglas James Butner</dc:creator>
      <pubDate>Wed, 08 Mar 2023 21:49:37 +0000</pubDate>
      <link>https://dev.to/dougbutner/explore-the-power-of-rust-with-chatgpt-1854</link>
      <guid>https://dev.to/dougbutner/explore-the-power-of-rust-with-chatgpt-1854</guid>
      <description>&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fih2lug25ysmldddubtc2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fih2lug25ysmldddubtc2.png" alt="Learn Rust Prompt Pack" width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Using these prompts
&lt;/h2&gt;

&lt;p&gt;👨‍🏫 This resource is designed to quickly show you the power of chatGPT and serve as a starting point for exploration.&lt;/p&gt;

&lt;p&gt;Copy and paste these into &lt;a href="https://chat.openai.com/" rel="noopener noreferrer"&gt;https://chat.openai.com/&lt;/a&gt;  to see what you get. I’ve also added some responses here. Further explore editing the prompts, trying to direct the AI, and taking the step-by-step responses as new prompts to feed the bot. Enjoy!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://godsol.gumroad.com/l/rust-prompts" rel="noopener noreferrer"&gt;Download All the prompts free on Gumroad&lt;/a&gt;&lt;br&gt;
&lt;em&gt;due to length constraints, this article contains less than half&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9dcxwt38w0hta8uzgruz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9dcxwt38w0hta8uzgruz.png" alt="Image description" width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Learning Rust (New Concepts)
&lt;/h2&gt;

&lt;h2&gt;
  
  
  Ownership and Borrowing:
&lt;/h2&gt;

&lt;p&gt;What are the benefits of Rust's ownership and borrowing system?&lt;/p&gt;

&lt;p&gt;How does Rust prevent common memory-related bugs like null pointers and dangling pointers?&lt;/p&gt;

&lt;p&gt;Can you explain the difference between mutable and immutable borrowing in Rust?&lt;/p&gt;

&lt;h2&gt;
  
  
  Traits:
&lt;/h2&gt;

&lt;p&gt;How do traits help with generic programming in Rust?&lt;/p&gt;

&lt;p&gt;Can you provide an example of a custom trait in Rust?&lt;/p&gt;

&lt;p&gt;What is the difference between a trait object and a generic type parameter in Rust?&lt;/p&gt;

&lt;h2&gt;
  
  
  Lifetimes:
&lt;/h2&gt;

&lt;p&gt;What is a lifetime in Rust and how is it different from a scope?&lt;/p&gt;

&lt;p&gt;How does Rust's borrow checker use lifetimes to prevent dangling pointers?&lt;/p&gt;

&lt;p&gt;Can you explain the difference between 'static and 'a lifetimes in Rust?&lt;/p&gt;

&lt;h2&gt;
  
  
  Pattern Matching:
&lt;/h2&gt;

&lt;p&gt;What is pattern matching and how is it used in Rust?&lt;/p&gt;

&lt;p&gt;How can pattern matching be used with enums and structs in Rust?&lt;/p&gt;

&lt;h2&gt;
  
  
  Concurrency:
&lt;/h2&gt;

&lt;p&gt;What are some of the built-in concurrency primitives in Rust?&lt;/p&gt;

&lt;p&gt;How does Rust's ownership and borrowing system make writing concurrent code safer?&lt;/p&gt;

&lt;p&gt;Can you provide an example of a multi-threaded Rust program?&lt;/p&gt;

&lt;h2&gt;
  
  
  Macros:
&lt;/h2&gt;

&lt;p&gt;What are macros and how are they used in Rust?&lt;/p&gt;

&lt;p&gt;Can you provide an example of a macro in Rust?&lt;/p&gt;

&lt;p&gt;How can macros be used to generate code at compile time in Rust?&lt;/p&gt;

&lt;h2&gt;
  
  
  Error Handling:
&lt;/h2&gt;

&lt;p&gt;What are some of the built-in error handling mechanisms in Rust?&lt;/p&gt;

&lt;p&gt;How does Rust's error handling system differ from other programming languages?&lt;/p&gt;

&lt;p&gt;Can you provide an example of how to use the Result and Option types in Rust?&lt;/p&gt;

&lt;h2&gt;
  
  
  Systems Programming
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="nx"&gt;Build&lt;/span&gt; &lt;span class="nx"&gt;a&lt;/span&gt; &lt;span class="nx"&gt;system&lt;/span&gt; &lt;span class="nx"&gt;daemon&lt;/span&gt; &lt;span class="nx"&gt;that&lt;/span&gt; &lt;span class="nx"&gt;monitors&lt;/span&gt; &lt;span class="nx"&gt;system&lt;/span&gt; &lt;span class="nx"&gt;resource&lt;/span&gt; &lt;span class="nx"&gt;usage&lt;/span&gt; &lt;span class="nx"&gt;and&lt;/span&gt; &lt;span class="nx"&gt;logs&lt;/span&gt; &lt;span class="nx"&gt;events&lt;/span&gt; &lt;span class="nx"&gt;to&lt;/span&gt; &lt;span class="nx"&gt;a&lt;/span&gt; &lt;span class="nx"&gt;file&lt;/span&gt; &lt;span class="nx"&gt;using&lt;/span&gt; &lt;span class="nx"&gt;the&lt;/span&gt; &lt;span class="nx"&gt;Rust&lt;/span&gt; &lt;span class="nx"&gt;Standard&lt;/span&gt; &lt;span class="nx"&gt;Library&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt; &lt;span class="nx"&gt;Use&lt;/span&gt; &lt;span class="nx"&gt;the&lt;/span&gt; &lt;span class="nx"&gt;log&lt;/span&gt; &lt;span class="nx"&gt;crate&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="nx"&gt;logging&lt;/span&gt; &lt;span class="nx"&gt;and&lt;/span&gt; &lt;span class="nx"&gt;the&lt;/span&gt; &lt;span class="nx"&gt;signal&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;hook&lt;/span&gt; &lt;span class="nx"&gt;crate&lt;/span&gt; &lt;span class="nx"&gt;to&lt;/span&gt; &lt;span class="nx"&gt;handle&lt;/span&gt; &lt;span class="nx"&gt;system&lt;/span&gt; &lt;span class="nx"&gt;signals&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Develop a network application that implements a custom protocol using Rust's TCP and UDP socket libraries. Use the nix crate for low-level system programming and the futures crate for asynchronous programming.&lt;/p&gt;

&lt;p&gt;Create a file management tool that allows users to copy, move, and delete files and directories using Rust's standard filesystem library. Use the clap crate for command-line argument parsing and the indicatif crate for progress bars.&lt;/p&gt;

&lt;p&gt;Build a simple web server that handles HTTP requests and serves static files using the Iron web framework and Rust's standard HTTP libraries. Use the chrono crate for handling dates and times and the openssl crate for secure communication.&lt;/p&gt;

&lt;p&gt;Develop a low-level library for interfacing with a hardware device using Rust's Foreign Function Interface (FFI) and the libc crate. Use the crossbeam crate for safe concurrent programming and the rust-crypto crate for encryption and hashing.&lt;/p&gt;

&lt;p&gt;Create a CLI tool that allows users to manipulate audio files using the Rust's audio crate. Use the clap crate for command-line argument parsing and the hound crate for audio file I/O.&lt;/p&gt;

&lt;p&gt;Build a network daemon that listens for incoming connections and manages a pool of worker threads using Rust's standard thread libraries and the crossbeam-channel crate for inter-thread communication. Use the rustls crate for secure communication.&lt;/p&gt;

&lt;p&gt;Develop a command-line tool for converting between different image formats using Rust's image processing library and the clap crate for command-line argument parsing. Use the rayon crate for parallel processing.&lt;/p&gt;

&lt;p&gt;Create a system service that monitors a directory for changes and logs events to a file using the notify crate. Use the chrono crate for handling dates and times and the slog crate for logging.&lt;/p&gt;

&lt;p&gt;Build a command-line tool that encrypts and decrypts files using Rust's cryptography libraries and the clap crate for command-line argument parsing. Use the rand crate for generating random numbers.&lt;/p&gt;

&lt;p&gt;Develop a low-level library for interfacing with a Bluetooth device using Rust's FFI and the BlueZ Bluetooth stack. Use the nix crate for low-level system programming and the futures crate for asynchronous programming.&lt;/p&gt;

&lt;p&gt;Create a CLI tool that allows users to manipulate PDF files using the Rust's PDF processing libraries and the clap crate for command-line argument parsing. Use the rayon crate for parallel processing.&lt;/p&gt;

&lt;p&gt;Build a system daemon that monitors and logs changes to system configuration files using Rust's standard filesystem libraries and the notify crate. Use the serde crate for serialization and deserialization.&lt;/p&gt;

&lt;p&gt;Develop a command-line tool that generates random passwords using Rust's cryptography libraries and the clap crate for command-line argument parsing. Use the rand crate for generating random numbers.&lt;/p&gt;

&lt;p&gt;Create a low-level library for interfacing with a USB device using Rust's FFI and the libusb library. Use the nix crate for low-level system programming and the futures crate for asynchronous programming.&lt;/p&gt;

&lt;p&gt;Build a command-line tool that allows users to manage system processes using Rust's standard process libraries and the clap crate for command-line argument parsing. Use the regex crate for string manipulation.&lt;/p&gt;

&lt;p&gt;Develop a system daemon that manages a pool of worker threads and communicates with them using Rust's standard thread libraries and the crossbeam-channel crate. Use the chrono crate for handling dates and times and the slog crate for logging.&lt;/p&gt;

&lt;p&gt;Create a low-level library for interfacing with a Serial device using Rust's FFI and the serialport library. Use the nix crate for low-level system programming and the futures crate for asynchronous programming.&lt;/p&gt;

&lt;h2&gt;
  
  
  DevOps
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="nx"&gt;Build&lt;/span&gt; &lt;span class="nx"&gt;a&lt;/span&gt; &lt;span class="nx"&gt;Continuous&lt;/span&gt; &lt;span class="nx"&gt;Integration&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;Continuous&lt;/span&gt; &lt;span class="nc"&gt;Deployment &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;CI&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;CD&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="nx"&gt;pipeline&lt;/span&gt; &lt;span class="nx"&gt;using&lt;/span&gt; &lt;span class="nx"&gt;Rust&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;s DevOps library, Rust CI/CD, and the Jenkins automation server. Use the clap crate for command-line argument parsing and the serde crate for serialization and deserialization.
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Develop a tool for infrastructure automation using Rust's DevOps library, Rust Chef, and the Chef configuration management tool. Use the clap crate for command-line argument parsing and the serde crate for serialization and deserialization.&lt;/p&gt;

&lt;p&gt;Create a tool for container orchestration using Rust's DevOps library, Rust Kubernetes, and the Kubernetes container orchestration system. Use the clap crate for command-line argument parsing and the serde crate for serialization and deserialization.&lt;/p&gt;

&lt;p&gt;Build a serverless infrastructure using Rust's DevOps library, Rust Serverless, and the AWS Lambda service. Use the clap crate for command-line argument parsing and the serde crate for serialization and deserialization.&lt;/p&gt;

&lt;p&gt;Develop a tool for continuous monitoring using Rust's DevOps library, Rust Prometheus, and the Prometheus monitoring system. Use the clap crate for command-line argument parsing and the serde crate for serialization and deserialization.&lt;/p&gt;

&lt;p&gt;Create a tool for log management using Rust's DevOps library, Rust Logstash, and the Logstash logging pipeline. Use the clap crate for command-line argument parsing and the serde crate for serialization and deserialization.&lt;/p&gt;

&lt;p&gt;Build a Continuous Integration/Continuous Deployment (CI/CD) pipeline using Rust's DevOps library, Rust Travis, and the Travis CI/CD platform. Use the clap crate for command-line argument parsing and the serde crate for serialization and deserialization.&lt;/p&gt;

&lt;p&gt;Develop a tool for infrastructure testing using Rust's DevOps library, Rust Terraform, and the Terraform infrastructure as code tool. Use the clap crate for command-line argument parsing and the serde crate for serialization and deserialization.&lt;/p&gt;

&lt;p&gt;Create a tool for container security using Rust's DevOps library, Rust Clair, and the Clair container security scanner. Use the clap crate for command-line argument parsing and the serde crate for serialization and deserialization.&lt;/p&gt;

&lt;p&gt;Build a serverless application using Rust's DevOps library, Rust AWS Lambda, and the AWS Lambda service. Use the clap crate for command-line argument parsing and the serde crate for serialization and deserialization.&lt;/p&gt;

&lt;p&gt;Develop a tool for infrastructure visualization using Rust's DevOps library, Rust Graphviz, and the Graphviz graph visualization software. Use the clap crate for command-line argument parsing and the serde crate for serialization and deserialization.&lt;/p&gt;

&lt;p&gt;Create a tool for container monitoring using Rust's DevOps library, Rust Prometheus, and the Prometheus monitoring system. Use the clap crate for command-line argument parsing and the serde crate for serialization and deserialization.&lt;/p&gt;

&lt;p&gt;Build a Continuous Integration/Continuous Deployment (CI/CD) pipeline using Rust's DevOps library, Rust CircleCI, and the CircleCI CI/CD platform. Use the clap crate for command-line argument parsing and the serde crate for serialization and deserialization.&lt;/p&gt;

&lt;p&gt;Develop a tool for infrastructure as code using Rust's DevOps library, Rust Ansible, and the Ansible configuration management tool. Use the clap crate for command-line argument parsing and the serde crate for serialization and deserialization.&lt;/p&gt;

&lt;p&gt;Create a tool for container orchestration using Rust's DevOps library, Rust Nomad, and the Nomad container orchestration system. Use the clap crate for command-line argument parsing and the serde crate for serialization and deserialization.&lt;/p&gt;

&lt;p&gt;Build a serverless application using Rust's DevOps library, Rust Google Cloud Functions, and the Google Cloud Functions service. Use the clap crate for command-line argument parsing and the serde crate for serialization and deserialization.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://godsol.gumroad.com/l/rust-prompts" rel="noopener noreferrer"&gt;Download All the prompts free on Gumroad&lt;/a&gt;&lt;br&gt;
&lt;em&gt;due to length constraints, this article contains less than half&lt;/em&gt;&lt;/p&gt;

</description>
      <category>rust</category>
      <category>chatgpt</category>
      <category>openai</category>
      <category>learnrust</category>
    </item>
    <item>
      <title>Provable Democracy 🗳 The Web 4 Manifesto</title>
      <dc:creator>Douglas James Butner</dc:creator>
      <pubDate>Sat, 10 Sep 2022 00:26:47 +0000</pubDate>
      <link>https://dev.to/dougbutner/provable-democracy-the-web-4-manifesto-389h</link>
      <guid>https://dev.to/dougbutner/provable-democracy-the-web-4-manifesto-389h</guid>
      <description>&lt;h1&gt;
  
  
  What is Web 4 🗳
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--5meyVoSq--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://files.peakd.com/file/peakd-hive/douglasjames/244AF4SWZYWyi7oGws9coPogAfNQyy9kvenS8AM6X14MkwxZgtkeE8XmwDBG2WMfpc1pN.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--5meyVoSq--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://files.peakd.com/file/peakd-hive/douglasjames/244AF4SWZYWyi7oGws9coPogAfNQyy9kvenS8AM6X14MkwxZgtkeE8XmwDBG2WMfpc1pN.jpeg" alt="element5-digital-T9CXBZLUvic-unsplash.jpeg" width="800" height="533"&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;Web 4 is a set of four &lt;strong&gt;modular paradigms&lt;/strong&gt; (time tokens, provable personhood, information entropy, and geosocial systems) that allow integration of &lt;strong&gt;provable democracy in any social system&lt;/strong&gt; that seeks to be more collaborative (organization, government, community, etc.). Modularity allows any project to adopt one or more of these principles to &lt;strong&gt;increase the accuracy, fairness, and transparency&lt;/strong&gt; of each individual's role in &lt;strong&gt;collaboration&lt;/strong&gt;. Furthermore, web 4 is designed to be biomimetic, defined as reflecting natural cycles and systems.  &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--C2ZH-quf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://files.peakd.com/file/peakd-hive/douglasjames/AJhU4W76i1yvQp7BUWsRdaWGi8t3HZEvK5wdUim3LVNMj7NGwRwKSipsTvX4CJ8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--C2ZH-quf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://files.peakd.com/file/peakd-hive/douglasjames/AJhU4W76i1yvQp7BUWsRdaWGi8t3HZEvK5wdUim3LVNMj7NGwRwKSipsTvX4CJ8.png" alt="Web-4-logo[GeoLogo][1.0.1][AscendingPurple][WithTriangle][8k].png" width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Web 4 is &lt;strong&gt;built on top of web 3&lt;/strong&gt; (it's blockchain-based) while being &lt;strong&gt;fundamentally different&lt;/strong&gt; and providing enough &lt;strong&gt;benefit to society&lt;/strong&gt; warrant the new title of web 4. &lt;/p&gt;

&lt;p&gt;In essence, web 4 is &lt;strong&gt;guide for building consensus tools&lt;/strong&gt; that helps to manifest a shared desire, opinion, or solution by providing a fair system of accounting using time-limited votes, real people, and existing geopolitical stratification.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Web 4 combines real-world components like time and geography with existing blockchain technology.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;In this manifesto, I will define each of the &lt;strong&gt;components&lt;/strong&gt; of web 4, provide &lt;strong&gt;psudeocode&lt;/strong&gt; to illustrate the minimum integration into web 2/3, introduce the &lt;strong&gt;benefits to society&lt;/strong&gt;, and offer a &lt;strong&gt;roadmap&lt;/strong&gt; to adopting these concepts.&lt;/p&gt;

&lt;h1&gt;
  
  
  The Problem
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--t3O7kN27--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://files.peakd.com/file/peakd-hive/douglasjames/23tkjaubxkK5AJGoBwtCBpuWrcXnvcQwShJDsB7GUmwtHAE5xG7FNQCbHKE2oKzB8bsvU.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--t3O7kN27--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://files.peakd.com/file/peakd-hive/douglasjames/23tkjaubxkK5AJGoBwtCBpuWrcXnvcQwShJDsB7GUmwtHAE5xG7FNQCbHKE2oKzB8bsvU.jpeg" alt="marcus-p-ZujRyMTfBRA-unsplash.jpeg" width="800" height="1107"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Democracy, society's biggest and most successful consensus and collaboration mechanism, has become inefficient, inaccurate and &lt;strong&gt;too slow to keep up&lt;/strong&gt; with the modern world. Groups of people organizing, whether to turn a profit as a company, or to live together in a community, are often &lt;strong&gt;under-, mis-, or not represented at all&lt;/strong&gt; in the decision making processes that affect their lives and work. In both governments and companies it is the &lt;strong&gt;few that make the decisions for the many&lt;/strong&gt;, even with the &lt;strong&gt;illusion&lt;/strong&gt; of "having a say" that exists in a &lt;strong&gt;representative system&lt;/strong&gt;. &lt;/p&gt;

&lt;h1&gt;
  
  
  The Solution
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--xSIZg4GP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://files.peakd.com/file/peakd-hive/douglasjames/23u6MviysZgnAoprEPxucpGCiugKH9deo38Swcn3RC5meGB3Kam13K5nayqRjNhDTRPyD.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--xSIZg4GP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://files.peakd.com/file/peakd-hive/douglasjames/23u6MviysZgnAoprEPxucpGCiugKH9deo38Swcn3RC5meGB3Kam13K5nayqRjNhDTRPyD.jpeg" alt="steven-lelham-atSaEOeE8Nk-unsplash.jpeg" width="800" height="422"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;By providing each individual with &lt;strong&gt;equal power&lt;/strong&gt; in a &lt;strong&gt;transparent decision making process&lt;/strong&gt;, the true intent of the majority can not only be known, it can be acted upon in predetermined ways through smart contracts. Though this solution seems simple, there are issues that will need to be addressed according to the needs of each group of collaborating people, such as ensuring &lt;strong&gt;one person per account&lt;/strong&gt;, &lt;strong&gt;tying tokens with time&lt;/strong&gt;, accounting for times when &lt;strong&gt;some collaborators have more influence than others&lt;/strong&gt; based on defined actions and roles, as well as protecting the &lt;strong&gt;privacy of decision makers&lt;/strong&gt; where appropriate. This paper will detail these solutions, and recommend that each system decide what components of web 4 to use or not use. For example, systems can (and should) be built using time tokens that &lt;strong&gt;do not use biometric data at all&lt;/strong&gt;, a common concern in our modern world. &lt;/p&gt;

&lt;h1&gt;
  
  
  Background
&lt;/h1&gt;

&lt;p&gt;Before we detail web 4, we must look briefly at the concepts of web 1, web 2, and web 3. &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Web 1&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Static web&lt;/strong&gt;. Files are served from a remote server to a user's browser.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Web 2&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Dynamic web&lt;/strong&gt;. Web pages take a user's information and desires into account to build a unique experience for them. Asynchronous requests allow single page applications to thrive. Applications are still served from a central server.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Web 3&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Decentralized web&lt;/strong&gt;. Applications, often open-source, exist in distributed networks instead of a central server. This unfederated model trades control and censorship for freedom and autonomy. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Web 4&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Biomimetic web&lt;/strong&gt;. Time-limited tokens are given to each individual, and used as a measure of opinion or desire in collaborative systems exhibiting a biomimetic, or fractal, architecture. (Alternatively called Time Web or Democratic Web)&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Today, the top 100 websites/apps by traffic are &lt;a href="https://www.alexa.com/topsites" rel="noopener noreferrer"&gt;all&lt;/a&gt; web 2-based. The web 2 paradigm fits closely with the wider environment of &lt;strong&gt;corporate-owned information.&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;As more and more individuals and societies are reconsidering the place of &lt;strong&gt;government, censorship, centralization and federated power&lt;/strong&gt;, web 3 has emerged as a powerful, provable option to shape the evolution of information and society on planet Earth. &lt;/p&gt;

&lt;p&gt;A growing portion of web 2 websites and applications today have elements of web 3, like &lt;a href="https://peakd.com" rel="noopener noreferrer"&gt;cryptoblogs&lt;/a&gt; and &lt;a href="https://www.stateofthedapps.com/rankings/category/games" rel="noopener noreferrer"&gt;games&lt;/a&gt;. While web 2 and web 3 can operate independently. Web 3 apps can be completely on-chain, or integrated into any web 2 website (ie. tokenization) to access web 3 features. Similarly, web 3 and web 4 can operate independently, but it makes the most sense for web 4 to be built on blockchains (web 3) to gain the benefits of reliability and transparency. &lt;/p&gt;

&lt;h2&gt;
  
  
  Guiding Philosophy
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--06aqNy5V--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://files.peakd.com/file/peakd-hive/douglasjames/23uQrWDijJQQTJGNLsgohtBBu4ZgeWQNMV5Em546seHFnDus38m2mfX4mR1C6KpAktSp7.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--06aqNy5V--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://files.peakd.com/file/peakd-hive/douglasjames/23uQrWDijJQQTJGNLsgohtBBu4ZgeWQNMV5Em546seHFnDus38m2mfX4mR1C6KpAktSp7.jpeg" alt="petr-sidorov-D3SzBCAeMhQ-unsplash.jpeg" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Web 4 seeks to implement &lt;a href="https://biomimicry.org/what-is-biomimicry/" rel="noopener noreferrer"&gt;biomimetic&lt;/a&gt; systems in &lt;strong&gt;harmony with the universe itself&lt;/strong&gt; by replicating nature: the &lt;strong&gt;abundance&lt;/strong&gt; of the Sun, rising &lt;strong&gt;entropy&lt;/strong&gt;, and the &lt;strong&gt;similarity&lt;/strong&gt; + &lt;strong&gt;uniqueness&lt;/strong&gt; of each human being. &lt;/p&gt;

&lt;p&gt;Web 4 tests the hypothesis that when we create information systems in &lt;strong&gt;harmonic resonance&lt;/strong&gt; with natural systems, our society will be able to advance more rapidly than ever before, as we will be able to &lt;strong&gt;synchronize energetically&lt;/strong&gt; with the larger systems of bioelectromagnetic information processing around us (the Earth, Sun, and Galactic core). &lt;/p&gt;

&lt;p&gt;Web 4 catalyzes free will by empowering collective decision making to manifest common goals and desires. Web4 strive to make systems that are public, provable, and powerful. These systems find use in curation, community, and consensus. &lt;/p&gt;

&lt;h2&gt;
  
  
  Defining Web 4
&lt;/h2&gt;

&lt;p&gt;Web 4 introduces &lt;strong&gt;four modular components&lt;/strong&gt; for &lt;strong&gt;provably democratic systems&lt;/strong&gt;, suggested to be built on top of web 3's open-source decentralized networks. &lt;/p&gt;

&lt;h3&gt;
  
  
  There are four conceptual underpinnings (modules) of web 4
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Time Tokens&lt;/strong&gt; 
 Individuals may claim time-limited tokens at given intervals, which represent that interval and the recipient themselves. Only one time token can represent a given interval and individual. Time tokens have functionality to the original recipient only.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Proof of Individuality (One Person, One Account)&lt;/strong&gt;
 Biometric Secrets, Social Verification, Proof of Liveness, white lists, etc. are used to guarantee no individual can collect two time tokens for a given interval by holding two accounts.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Information Entropy&lt;/strong&gt;
 Information degradation over time, increasing cost to call smart contracts over time, and other mechanisms replicating entropy ensure that a system stays malleable, enabling a greater degree of biomimicry and systemic evolution.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Geosocial Systems&lt;/strong&gt;
 Fair (according to each system's specific metrics) and transparent collaboration through accounting the opinions and desires of participants in geographic bounds which may be defined by geopolitical tradition, or voluntary declaration. &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Each module can be implemented separately or in tandem. This paper invites you to involve any of these ideas into your current or future projects. We will discuss these concepts one at a time, but first let's examine why we need them in the first place. &lt;/p&gt;

&lt;h1&gt;
  
  
  Why we must grow from web 3 to evolve democracy, society and consciousness
&lt;/h1&gt;

&lt;blockquote&gt;
&lt;p&gt;Provable democracy cannot be fully achieved in web 3 as-is because there is no inherit limit over how many accounts a user may control.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Democracy&lt;/strong&gt; is essentially reaching a consensus with the idea that &lt;strong&gt;each person is equal&lt;/strong&gt; in their influence on that consensus within defined bounds. &lt;/p&gt;

&lt;p&gt;Many different &lt;strong&gt;consensus models&lt;/strong&gt; have been developed in web 3, most notably, &lt;a href="https://www.ledger.com/academy/blockchain/what-is-proof-of-work" rel="noopener noreferrer"&gt;proof of work&lt;/a&gt; (&lt;strong&gt;POW&lt;/strong&gt;), &lt;a href="https://www.ledger.com/academy/blockchain/what-is-proof-of-stake" rel="noopener noreferrer"&gt;proof of stake&lt;/a&gt; (&lt;strong&gt;POS&lt;/strong&gt;), and &lt;a href="https://academy.binance.com/en/articles/delegated-proof-of-stake-explained" rel="noopener noreferrer"&gt;delegated proof of stake &lt;/a&gt;(&lt;strong&gt;DPOS&lt;/strong&gt;). These paradigms of consensus are used primarily to determine which chain of transaction records (blocks) is considered valid, "securing" a blockchain. &lt;/p&gt;

&lt;p&gt;POS and DPOS are additionally used in projects like &lt;a href="https://peakd.com" rel="noopener noreferrer"&gt;&lt;strong&gt;Hive&lt;/strong&gt;&lt;/a&gt; to allow users to "vote" on valuable content. DPOS is also used for networks to determine who can access network resources, such as in &lt;a href="https://github.com/EOSIO/Documentation/blob/master/TechnicalWhitePaper.md" rel="noopener noreferrer"&gt;EOSIO blockchains&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;However, both of these POS/DPOS use cases (curation and resource allocation) are not democratic in the sense that &lt;strong&gt;each account is not equal&lt;/strong&gt;. In both cases, the root of democracy is in the token, not the individual, and the ownership of tokens determines the voting power or computing power held by an individual. &lt;/p&gt;

&lt;p&gt;In the end, the only way to implement true democracy in any system is through giving &lt;strong&gt;each individual equal power&lt;/strong&gt;. The only way to do this while keeping web 3's decentralized nature is to implement the technological and idealogical advancements needed for a &lt;strong&gt;one individual,  one account&lt;/strong&gt; system. These advancements needed for provable high-fidelity democracy are, for simplicity and communication, called web 4. These principles aren't intended to be used for block production consensus, but for  &lt;/p&gt;

&lt;p&gt;Finally, there are many times that &lt;strong&gt;we don't want each person to be granted equal power&lt;/strong&gt; in a democratic system simply for being born a human in a place. &lt;strong&gt;Merit-based&lt;/strong&gt; (requires certification), &lt;strong&gt;choice-based&lt;/strong&gt; (chosen by members of the system) or &lt;strong&gt;action-based&lt;/strong&gt; (pre-vote action like education) requirements may be implemented in smart contracts as long as that action or merit is represented in data objects, such as the &lt;a href="https://dho.hypha.earth/#/documents/badge" rel="noopener noreferrer"&gt;badge system in Hypha DHO&lt;/a&gt;. High-fidelity democracy (many integer-voting units per person's vote) can give an individual fractional or multiplied influence in a transparent way by using whole numbers as a multiplier of a set, system-wide voting power defined as the granted influence on consensus every voting member is given.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Let's review web 4 concepts one by one.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h1&gt;
  
  
  &lt;strong&gt;1&lt;/strong&gt;
&lt;/h1&gt;




&lt;h1&gt;
  
  
  Time-issued cryptocurrency (Time Tokens)
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--l6KSnT4L--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://files.peakd.com/file/peakd-hive/douglasjames/23wC5V4UsnTzUxxPSrjK6po4aFSDNBsHFq7cHNu1NRMoNqFcmKacgjZQFtDsuf87qmyE8.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--l6KSnT4L--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://files.peakd.com/file/peakd-hive/douglasjames/23wC5V4UsnTzUxxPSrjK6po4aFSDNBsHFq7cHNu1NRMoNqFcmKacgjZQFtDsuf87qmyE8.jpeg" alt="brad-neathery-nPy0X4xew60-unsplash.jpeg" width="800" height="534"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Time tokens may be offered or directly distributed to users' wallets periodically. They work by hashing a unique personal identifier (address) with a time identifier, &lt;strong&gt;linking each token to a person and a span of time&lt;/strong&gt;. This information can be stored on the token, like a non- or semi-fungible token, or be metadata that is later compiled by the system by reading a tx memo or other transaction history of the wallet/account. &lt;/p&gt;

&lt;h2&gt;
  
  
  The Gears of Time Tokens
&lt;/h2&gt;

&lt;p&gt;Time tokens rely on the following concepts:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Time Tokens&lt;/strong&gt; &lt;br&gt;
 Individuals may claim time-limited tokens at given intervals, which represent that interval and themselves. Only &lt;strong&gt;one time token can exist with one interval and wallets&lt;/strong&gt;, and one individual can't hold another's time tokens.&lt;br&gt;
 These tokens provide the user with a function or action. The action burns the token, which may cause some change in the state of a system, such as minting another token, registering a vote, or any other action. Thus, &lt;strong&gt;each time token is unique yet semi-fungible&lt;/strong&gt;. Time tokens can also be checked for freshness when needed, for example a user may have to use a certain time period's token to cast a vote in an election, which should also exclude that particular time token from all other election. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Time Unit&lt;/strong&gt;&lt;br&gt;
A time unit is a time interval that is a sub- or superset of a timestamp. This means that a time unit is some amount (or fraction) of seconds. Each time token MUST be the only one in existence stamped with a particular &lt;strong&gt;time unit&lt;/strong&gt; and &lt;strong&gt;account/wallet&lt;/strong&gt; (requires both). &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Time Faucet&lt;/strong&gt;&lt;br&gt;
A time faucet is a smart contract that offers any qualified account EXACTLY one time token per unit of time passed since their last faucet. This can be an active faucet; requiring some action by the recipient, or a passive faucet; automatically sending the cryptocurrency to the user. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Qualified Accounts&lt;/strong&gt;&lt;br&gt;
Qualified accounts adhere to the individuality requirements of a given system. Each web 4 system will do this differently according to their needs, perhaps with a whitelist, social verification, biometric verification, proof of liveness, or other means. &lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  How do Time Tokens work?
&lt;/h2&gt;

&lt;p&gt;Time tokens operate like non-fungible tokens in their structure, storing a time unit (integer) with a unique user identifier (string) as the payload data. &lt;/p&gt;

&lt;p&gt;The user's identifier may also be linked to a &lt;strong&gt;biokey&lt;/strong&gt; discussed in the next section.&lt;/p&gt;

&lt;p&gt;Time tokens are platform-independent, and need only the ability to store or imply simple data: a time unit and a user identifier. &lt;/p&gt;

&lt;p&gt;In practice, a time unit is an integer that counts up the number of pre-defined time spans that have passed since an &lt;strong&gt;epoch&lt;/strong&gt;. The epoch is typically when the system went live, and represents the first time unit. &lt;/p&gt;

&lt;h2&gt;
  
  
  Provable Democracy with Time Tokens
&lt;/h2&gt;

&lt;p&gt;If we were to create a time token for a US citizen to vote in the &lt;strong&gt;US presidential election&lt;/strong&gt;, the time span would be 126144000 seconds (four years), and the epoch would be at a timestamp representing the start of the &lt;strong&gt;election day previous to the first election&lt;/strong&gt; to use time tokens. On election day, an active faucet would send/offer one time token to each registered voter (requires module 2: provable individuality) with a payload of the user's &lt;strong&gt;unique identifier and the integer 1 as the time unit&lt;/strong&gt; (the next election would be 2, and so on.) The user would then send the token to the election's smart contract address with a &lt;strong&gt;memo of their vote&lt;/strong&gt;. The system would check the identity of the voter as the one the token was minted to, validity of the memo, and the time unit against their list to ensure they are voting in the correct election, then &lt;strong&gt;burn the token&lt;/strong&gt; (or else reverse the transaction if malformed), and send the user back another token representing a &lt;strong&gt;"I Voted" sticker&lt;/strong&gt;. &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;This example intentionally doesn't account for anonymity&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;This example is simply implementing an existing system.&lt;/strong&gt; It becomes beneficial when we realize that we can just as easily send the person 12 voting tokens so they can vote on their first, second and third choice. It becomes even more interesting when we send tokens &lt;strong&gt;every month&lt;/strong&gt; (or so) and allow the people to &lt;strong&gt;vote directly on the bills that are being presented to their respective legislative bodies&lt;/strong&gt;, just for fun, equivalent to a poll. It becomes even more expansive when we have the faucet smart contract require &lt;strong&gt;educational actions&lt;/strong&gt;, such as opening a link to information on these bills (summary and the full text) &lt;strong&gt;to receive their votable time tokens&lt;/strong&gt;. &lt;/p&gt;

&lt;p&gt;It seems that the only way to beat misinformation is with information. By enforcing the integrity of voter informedness according to known metrics, a solution may be developed where opinion can be trusted to be at least well-representative of the population's desires. &lt;/p&gt;

&lt;h2&gt;
  
  
  A Simple Example in web 2
&lt;/h2&gt;

&lt;p&gt;Here is the minimum information stored in a time token, using &lt;a href="https://jwt.io/introduction/" rel="noopener noreferrer"&gt;JSON Web Token (JWT)&lt;/a&gt; as an example&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
  "header": {
    "typ": "JWT",
    "alg": "HS256"
  },
  "payoadData": {
    "time-unit": 294957,
    "userid": "7f3e873a2c3d"
  }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Below is a brief pseudocode example of how one could use a signed time token as a JWT.&lt;/p&gt;

&lt;p&gt;See Appendix A for more detailed pseudocode of a time token.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const passedBioData = {..} // biodata from user

const header = {
        "typ": "JWT",
        "alg": "HS256"
      }

const payloadData = {
    "time-unit": "294957", 
    "userid": "7f3e873a2c3d", 
    "appData": {
        "gold": 479,
        "honey": 23,
        "axe": 0 
    }
}

const bioKey = bioKeyGenerator(passedBioData); // Biometric provider's key or one generated direcly by user

// --- Here we have the signature, to be used for any purpose --- \\
signature = HMACSHA256(
    base64UrlEncode(header) + "."+
    base64UrlEncode(payloadData), 
    bioKey
)


function bioKeyGenerator(bioData){
    // Function takes data in the form of user input into their browser or smartphone.
    // Data is normalized (explained in Appendix A, not shown here)
    bioKeyChecked = bioData;
    // Return biokey 
    return sha256(bioKeyChecked)
}


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

&lt;/div&gt;



&lt;p&gt;The notable parts here are the &lt;code&gt;time-unit&lt;/code&gt; and &lt;code&gt;userid&lt;/code&gt; in the payload, and the &lt;code&gt;biokey&lt;/code&gt; which is generated by a user's biometric data.&lt;/p&gt;

&lt;p&gt;We have said web 4 is based on web 3 (blockchain), but this example intentionally used  &lt;strong&gt;web 2 technology&lt;/strong&gt;. Much of the rest of this paper goes over ways to avoid trust by incorporating biometric data in a specific way, but that's not always needed, or helpful. We have to trust a government to run our elections. We trust social media platforms with our photos. We trust the Sun will rise, and a giant meteor won't crash into Earth. &lt;/p&gt;

&lt;p&gt;The truth is, &lt;strong&gt;all systems have some level of trust&lt;/strong&gt;, even if that's just in the system itself. If we try to get rid of this trust by implementing a system so good we are our own private key, it can backfire, and when it does, if we built it because we were fearful instead of trusting, that's super lame. &lt;/p&gt;

&lt;p&gt;While I'm going to lay out a possible solution to use biometrics in a "trustless" way that fits with web 3 ideals, personally I think it's a bad idea in general, and I won't be designing my Web 4 apps with it for quite some time, if ever, because I think social verification is more trustworthy for all stakeholders. &lt;/p&gt;

&lt;h2&gt;
  
  
  Are Time Tokens needed?
&lt;/h2&gt;

&lt;p&gt;For a minimal system, there is no need for a token to track time. Any stored time point can be calculated in real time to determine the user's weight in curation or consensus forming. Any on-chain datastore would do, and there's even possibilities for manual input through photo-hashing pictures of a user's inked response on a printed paper. &lt;/p&gt;




&lt;h1&gt;
  
  
  &lt;strong&gt;2&lt;/strong&gt;
&lt;/h1&gt;




&lt;h1&gt;
  
  
  &lt;strong&gt;Proof of Individuality - Biokeys, Biosecrets, + Social Verification&lt;/strong&gt;
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--M0uPeH2X--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://files.peakd.com/file/peakd-hive/douglasjames/23tRt87cDE5xxGvp2PvnPymfsB74H1pfaV5bfKpWrhUb4vcz8UKzg3f9w8R3jeMmKBuwh.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--M0uPeH2X--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://files.peakd.com/file/peakd-hive/douglasjames/23tRt87cDE5xxGvp2PvnPymfsB74H1pfaV5bfKpWrhUb4vcz8UKzg3f9w8R3jeMmKBuwh.jpeg" alt="brands-people-sWQrD5s0fWc-unsplash.jpeg" width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Please Note:&lt;/strong&gt; This paper originally only spoke of biokeys and has been expanded to include social verification. There are solutions available today (like &lt;a href="https://www.facetec.com/" rel="noopener noreferrer"&gt;FaceTec&lt;/a&gt; and &lt;a href="https://www.brightid.org/" rel="noopener noreferrer"&gt;BrightID&lt;/a&gt;) that solve the same issues presented here. This paper seeks to outline a web 3-based system (decentralized + open source) that can run without a centralized actor, while not providing specifics to accomplish these goals. This is more of a thought experiment than a suggestion or requirement. &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Biometric secrets (biosecrets)&lt;/strong&gt; are akin to any cryptographic private key, but they are your actual biological data, or, more specifically, a four dimensional expression of your humanness from which biometric data is collected. The difference between a biosecret and a fingerprint or retinal scan is a biosecret involves a short expression (movement and/or sound) AND a physical attribute, not just one.  &lt;/p&gt;

&lt;p&gt;Instead of a private key generated alongside a public key, &lt;strong&gt;a hash of quantized biometric data becomes your public key&lt;/strong&gt;, which is paired with your &lt;strong&gt;actual flesh-and-blood-and-sound-and-movement-data, your private/secret key&lt;/strong&gt;, or as we call it "&lt;strong&gt;biosecret&lt;/strong&gt;" which isn't stored on any server or blockchain. &lt;/p&gt;

&lt;h2&gt;
  
  
  Keys
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Biometric Key&lt;/strong&gt;: Digital identity keys generated static assessments of an individual's physical characteristics. (Fingerprint, Iris, Facial recognition)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Biokinetic Key&lt;/strong&gt;: Digital Identity keys generated is a specific biometric expression measured over time via movement. (Voice Recognition)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Biokey&lt;/strong&gt;: Any type of private key generated by an individual's measurable characteristics or expression. (Includes Biokinetic and Biometric)&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  How this can go wrong
&lt;/h2&gt;

&lt;p&gt;In today's biometric space, static images are most commonly used for things like fingerprint and facial recognition, and geometry is the means to compare this data. Biometric secrets generated from static images are not secure, as static images can be faked. [2] Video offers a better solution to this problem, as it is harder to fake, can include audio, and lets developers create a whole new set of algorithms based on a changing stream of data. &lt;a href="https://www.facetec.com/" rel="noopener noreferrer"&gt;Facetec&lt;/a&gt; is one company using video for biometric verification. &lt;/p&gt;

&lt;h2&gt;
  
  
  What could be used to generate a biokey?
&lt;/h2&gt;

&lt;p&gt;This stream of data (video + audio biometric expression) could be a user doing a series of hand gestures, singing a part of a song, speaking a phrase, speaking a phrase in different voices, clapping, making a series of facial expressions or movements, or anything else one can imagine.&lt;/p&gt;

&lt;p&gt;For security, biometric expressions (used to make a biokey) must be unique (for example, which combination of words to speak) and many types must be available (gestures, movement, singing, clapping, etc) and used in combination. &lt;strong&gt;If each person's biokey was generated from the same single biometric expression, it would be a matter of time before specific AI could be developed to deepfake it for anyone&lt;/strong&gt;. If the user is the only one that knows their biometric expressions it becomes nearly impossible to guess the type and nature of the expression, and even if that is known, difficult to use the same technique on more than one account. It also means this expresion can be forgotten, making accounts not recoverable. The nature of the uniqueness could be chosen by the user, or generated at random from the biokey software which would prompt the user to complete an action in a specific way. &lt;/p&gt;

&lt;p&gt;With a wallet storing your encrypted key, you will only need to preform your biosecret in the event of adding to a new wallet or in case of account recovery. There is also the option to create a &lt;strong&gt;hybrid system&lt;/strong&gt; where a normal private key is generated in tandem with a *&lt;em&gt;recovery *&lt;/em&gt;, used only in the event of a compromised account, similar to the Mandel (formerly &lt;a href="https://eos.io/" rel="noopener noreferrer"&gt;EOSIO&lt;/a&gt;) software.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why do we need this, again?
&lt;/h2&gt;

&lt;p&gt;Democratic systems certainly are being built without biometric verification, and will continue to be even after suitable biometric technology develops along the open source, client-side requirements. For now, &lt;strong&gt;decentralized solutions&lt;/strong&gt; like &lt;a href="https://www.civic.com/" rel="noopener noreferrer"&gt;Civic&lt;/a&gt;, and centralized tech like &lt;a href="https://www.facetec.com/FaceTec_3D_Face_Matching_Whitepaper.pdf" rel="noopener noreferrer"&gt;Facetec&lt;/a&gt; provide the necessary individuality at the cost of trust and requirement of citizenship. Additionally, &lt;strong&gt;biometric data can be avoided entirely&lt;/strong&gt; by using a social verification platform like &lt;a href="https://www.brightid.org/" rel="noopener noreferrer"&gt;BrightID&lt;/a&gt; or piggybacking a community like &lt;a href="https://edeneos.org/" rel="noopener noreferrer"&gt;Eden on EOS&lt;/a&gt; that has a list of socially verified accounts on-chain. As different projects implement web 4 in their own ways, the ideas presented thus far will develop as flaws are found. And there's always the ability to use a whitelist, the most low-tech, high-trust, and simplest solution.&lt;/p&gt;

&lt;h2&gt;
  
  
  Integrations
&lt;/h2&gt;

&lt;p&gt;Solutions exist to allow any developer to prompt for a fingerprint scan or facial scan, even from the browser. [4] This makes integration of an already-accepted biokey type on a cellphone into any web3 application feasible. &lt;/p&gt;

&lt;h2&gt;
  
  
  Trust Issues
&lt;/h2&gt;

&lt;p&gt;The biggest issue with biometrics is the lack of trust the general population has (or should have) with giving up their biometric data, including the growing number of facial recognition softwares and databases. The lack of trust is almost always associated with an individual's &lt;strong&gt;lack of clear consent&lt;/strong&gt;, and lack of understanding the technology itself. &lt;/p&gt;

&lt;h3&gt;
  
  
  To alleviate the trust issue, biokey generators must be:
&lt;/h3&gt;

&lt;p&gt;1) &lt;strong&gt;open-source&lt;/strong&gt;&lt;br&gt;
2) entirely run on the individual's hardware (&lt;strong&gt;client-side&lt;/strong&gt;), and &lt;br&gt;
3) &lt;strong&gt;not expose any biometric data&lt;/strong&gt; to any other users or to a web 4 system itself (the biosecret is never stored or transmitted in any way). &lt;/p&gt;

&lt;p&gt;There will always be &lt;strong&gt;security concerns&lt;/strong&gt; with biometrics. For example, if a user uses their biometric secret to unlock their mobile device, another app could be secretly recording the camera in the background. A person could record them doing their secret, and try to play that video back to the camera to gain access. Also, &lt;em&gt;&lt;a href="https://github.com/aerophile/awesome-deepfakes" rel="noopener noreferrer"&gt;deepfakes&lt;/a&gt; exist&lt;/em&gt;. These concerns must be addressed before this module of web 4 reaches mass adoption. &lt;/p&gt;

&lt;p&gt;The upside of biosecrets is they virtually &lt;strong&gt;cannot be lost&lt;/strong&gt;, as the account should always be &lt;strong&gt;recoverable by the individual&lt;/strong&gt;. In a web 4 ecosystem, where time tokens are distributed daily and often spent daily, a hack would be much less catastrophic. The attacker will be able to access the user's balance, but not alter the past transactions, nor continue to collect the future deposits, because the real user will (in theory) quickly recover the account and change the biometric secret generation means so that the hacker's biofake is no longer working. In a system where a user must remember the particular expression of their biokey, there is a greater chance that the user will forget, but a smaller chance of a successful fake. &lt;/p&gt;




&lt;h1&gt;
  
  
  &lt;strong&gt;3&lt;/strong&gt;
&lt;/h1&gt;




&lt;h1&gt;
  
  
  Information Entropy
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--v-LXK9e8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://files.peakd.com/file/peakd-hive/douglasjames/Eos2FGGh7TZJ4GA8ybBxYtpoq87BXXMK8zpBcGANtpAqiAx7icexd5FLQS6jSxa6ihQ.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--v-LXK9e8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://files.peakd.com/file/peakd-hive/douglasjames/Eos2FGGh7TZJ4GA8ybBxYtpoq87BXXMK8zpBcGANtpAqiAx7icexd5FLQS6jSxa6ihQ.jpeg" alt="sajad-baharvandi-63JFCfidgsM-unsplash.jpeg" width="800" height="616"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Web 3 focuses on storing information forever in a provable way. Web 4 introduces a &lt;strong&gt;counter-model&lt;/strong&gt; which may be &lt;strong&gt;optionally&lt;/strong&gt; adopted by any time-token-based system. In this model, who did what becomes &lt;strong&gt;harder and harder to know&lt;/strong&gt; the more time that passes. &lt;/p&gt;

&lt;p&gt;This idea hinges upon incremental time units, the number of which is used to decide how difficult information about a particular account or contract is to access. This can be implemented by increasing the difficulty required to verify a transaction chain, or economically by increasing the fees associated with accessing or interacting with old smart contracts. &lt;/p&gt;

&lt;p&gt;With &lt;strong&gt;information entropy&lt;/strong&gt;, it is difficult, but not impossible, to piece together a story about an individual user by knowing they are responsible for a set of transactions over time. The further back in time a transaction is, the &lt;strong&gt;harder&lt;/strong&gt; it is to link it to another transaction with any &lt;strong&gt;certainty&lt;/strong&gt;. This difficulty may be overcame with resources or tokens required to execute a smart contract. &lt;/p&gt;

&lt;p&gt;An extension of this idea is to require more and more time tokens be accumulated by an account to interact with a smart contract. For example, you could require an account needs to receive 1 &lt;em&gt;event participation token&lt;/em&gt; to interact with an event modification contract, then increase this requirement as more events take place, which would be represented by referencing passing time units in a smart contract. &lt;/p&gt;

&lt;p&gt;Other examples can make it more expensive to change a record from the past, make it more expensive to join a group, change probabilities an action causes another action, or even limit any past state's effect on the future of a blockchain. &lt;/p&gt;

&lt;h2&gt;
  
  
  Information Entropy and Biosecrets
&lt;/h2&gt;

&lt;p&gt;Information fidelity requirements can also be degraded over time. For example, when generating a user's biokey, it can be assumed that the more time that passes, the more the biometrics of the individual will change. &lt;/p&gt;

&lt;h3&gt;
  
  
  Degradation of Biokeys
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Biokeys&lt;/strong&gt; are generated from a &lt;strong&gt;range of biometric values&lt;/strong&gt;. This range of values can be expanded over time based on specific, well researched paths. The effect is, instead of having one hashed biokey for eternity, the generation process will create a set of biokeys from an increasingly &lt;strong&gt;wide range of data&lt;/strong&gt;. This concept may be needed to keep people in control of their accounts as they age. There is considerable work to be done to develop this concept, as each data type has its own considerations and complications. &lt;/p&gt;

&lt;p&gt;In this case, as time goes on, someone attempting to prove their individuality would have to spend a lot &lt;strong&gt;more effort&lt;/strong&gt; to run the algorithms against their collected biodata, and the data &lt;strong&gt;precision&lt;/strong&gt; needed to match the person's identity is actually &lt;strong&gt;lower&lt;/strong&gt;. This is an example of increasing information entropy lowering &lt;strong&gt;information fidelity&lt;/strong&gt;. This is possible because of the granularity of the matrix used to generate a biokey. You can compute the millions of possible hashes related to these quantized pieces of data, and expand the acceptable range over time. &lt;/p&gt;

&lt;h2&gt;
  
  
  Proceed with Caution
&lt;/h2&gt;

&lt;p&gt;While the inclusion of this concept into web 4 may seem &lt;strong&gt;unnecessary&lt;/strong&gt; at the moment, it is another guarantee of the privacy that is needed for many &lt;strong&gt;social applications&lt;/strong&gt;. Philosophically, degradation of information also fits in with the general web 4 desire to reflect &lt;a href="https://en.wikipedia.org/wiki/Second_law_of_thermodynamics" rel="noopener noreferrer"&gt;systems in nature&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;Before moving on, I do wish to stress the modularity of web 4, and that this (perhaps the most radical idea presented) &lt;em&gt;is not going to fit into every web 4 system&lt;/em&gt;, nor should it. This idea will find its usefulness when it is time, and should &lt;strong&gt;&lt;em&gt;NOT&lt;/em&gt;&lt;/strong&gt; be adopted without clear reasoning. &lt;/p&gt;




&lt;h1&gt;
  
  
  4
&lt;/h1&gt;




&lt;h1&gt;
  
  
  GeoSocial Systems: Geotribes + Geodomains
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--LRP6rgdr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://files.peakd.com/file/peakd-hive/douglasjames/245HqPtY7eLzPYCaadViHdHLV4QdyRsuWX6xopMdnairZxvmktwaPqRLFvD69q7pYmoqj.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--LRP6rgdr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://files.peakd.com/file/peakd-hive/douglasjames/245HqPtY7eLzPYCaadViHdHLV4QdyRsuWX6xopMdnairZxvmktwaPqRLFvD69q7pYmoqj.jpeg" alt="naassom-azevedo-AcWC8WuCQ_k-unsplash.jpeg" width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Collaborative geosocial systems are always happening everywhere humans live. Currently, we are collectively deciding what direction we should be moving as a society, from representative governments, to social media. However, human growth in the past few centuries has been focused on technological improvements rather than social improvements. [3] To harness the power of the information age for the collaboration of humans, web 4 should be used to enhance, introduce, and replace current structures that organize our societies. &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Web 4 proposes that geosocial systems based in time token are the most apt to create and improve existing social layers. &lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  What is a GeoSocial System?
&lt;/h2&gt;

&lt;p&gt;A geosocial system is something that affects people (&lt;strong&gt;social&lt;/strong&gt;) at a given bounded area (&lt;strong&gt;geo&lt;/strong&gt;). We will introduce a model to create a bounded geosocial system on blockchain. &lt;/p&gt;

&lt;h2&gt;
  
  
  Concepts
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Geodomain&lt;/strong&gt;: A bounded area that may contain or be contained by other geodomains and may have an associated group of people (geotribe). &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Geotribe&lt;/strong&gt;: The group of people associated with a geodomain that are participants in a web 4 system.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Geodomains are akin to a level of organization like city or state, with a finite set of smaller areas making up the larger area, with the smallest area being a community of humans with shared desires (such as how to live), and the largest area being Earth. Geodomains could be overlapping, or the geographic aspect can be replaced by a spatial or ideological relationship, like metaverse land or fans of sports teams. We will continue to focus on a geospatial aspect in relation to Earth geopolitics.&lt;/p&gt;

&lt;h3&gt;
  
  
  Geodomain Levels
&lt;/h3&gt;

&lt;p&gt;Across the globe, &lt;strong&gt;one geopolitical (geodomain) pattern&lt;/strong&gt; seems to emerge, though names vary. Communities are within Cities, are within Counties, are within States, are within Nations, are within the World. &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Community&lt;/li&gt;
&lt;li&gt;Cities (aka Towns, Commonwealths, etc.)&lt;/li&gt;
&lt;li&gt;Counties (aka Divisions, etc) &lt;/li&gt;
&lt;li&gt;States (aka Districts, Provinces)&lt;/li&gt;
&lt;li&gt;Nations (aka Countries, States, Republics, etc)&lt;/li&gt;
&lt;li&gt;Global&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Using this existing geopolitical stratification is recommended for those wishing to build a web 4 system because it makes varying global systems easily storable in a one relational database model, smart contract, or similar data structure, and is understood by local people, governments, etc. Any other system is possible if one is willing to create it. &lt;/p&gt;

&lt;p&gt;Once we have our geodomains, we must define what makes a geotribe.  &lt;/p&gt;

&lt;h3&gt;
  
  
  Geotribal Bonds
&lt;/h3&gt;

&lt;p&gt;Traditionally, it's a presence within a certain area, such as a place of residence or business, that is of importance for things like taxes, voting, and citizenship. This is no longer a necessity, as there are other metrics to measure an association with a region, including amount of time spent there (provable with checkins via a phone GPS) or voluntary declaration (proofless).&lt;/p&gt;

&lt;p&gt;It is important for every system that each individual declare only one geodomain/geotribe so that their "vote" isn't counted twice, or half (if divided). Checking in once in a while within the region using GPS is an easy way to show association with a geodomain.&lt;/p&gt;

&lt;p&gt;When using stratified geodomains, such as geopolitically-based ones, Geodomains are layered, with each level adding definition by refining larger Geodomain layers into smaller parts.&lt;/p&gt;

&lt;p&gt;If a geopolitically-based geodomain system allows geotribe members to declare their own associated location without proof, the member is incentivized to be honest, as they will receive the most benefit from having their opinion heard where it matters to them. &lt;/p&gt;

&lt;p&gt;All "non-proof" systems should place restrictions on switching voluntarily-given geodomain association too often (such as once per 6 months) to prevent influencing foreign affairs. &lt;/p&gt;

&lt;h1&gt;
  
  
  High-Fidelity Democracy
&lt;/h1&gt;

&lt;p&gt;By offering time tokens to the individual that correspond to each stratum we can create &lt;strong&gt;high-fidelity democratic systems&lt;/strong&gt; that better represent each and every person's desires. We can know exactly what the people want, with no guesswork and 0 middlemen, in a very short period of time. &lt;/p&gt;

&lt;p&gt;For example, a person may be given 12 time tokens per month at each stratum to vote on the initiatives that they would like to see passed. They may vote all 12 tokens for an initiative they are most passionate about, or 1 token to 12 different initiatives (or 2 to 6 initiatives, etc). By collecting and counting these tokens, the governing body can &lt;strong&gt;know exactly what their constituents want&lt;/strong&gt;, without the direct need to elect a representative who only estimates these desires. &lt;/p&gt;

&lt;p&gt;The democratic system described in this paper does not solve all problems, as there are still issues of voter informedness, unseen actors, and more, but it is a skeleton to build a collaborative social system that are an &lt;strong&gt;improvement to the representative governments&lt;/strong&gt; which were once as revolutionary as these ideas are. &lt;/p&gt;

&lt;h1&gt;
  
  
  The Road to Web 4 Reality
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--9X7fVzhe--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://files.peakd.com/file/peakd-hive/douglasjames/245HsURXucK19JzTGTd5S6JpfhKQEwUQLrFF69LNoBDbzXguPDpq6S8MdTkEUxgR32YLq.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--9X7fVzhe--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://files.peakd.com/file/peakd-hive/douglasjames/245HsURXucK19JzTGTd5S6JpfhKQEwUQLrFF69LNoBDbzXguPDpq6S8MdTkEUxgR32YLq.jpeg" alt="micheile-dot-com-03NMNUqHPdE-unsplash.jpeg" width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Phase One&lt;/strong&gt;
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;Implementing time tokens&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Time Tokens&lt;/strong&gt; are implemented on any and all blockchains where developers see the value. These developers provide open-source instructions and tools to helps other developers incorporate time tokens into their applications. Services develop to allow any dapp to integrate a provider's time tokens. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Provable individuality&lt;/strong&gt; for Time Token issuance is up to each application and blockchain, and these application can choose to ignore this requirement, risking their systems' integrity. &lt;strong&gt;Federated&lt;/strong&gt; (Facetec) and &lt;strong&gt;decentralized&lt;/strong&gt; (Civic) options may be used, and so can social verification (BrightID), as well as simpler development libraries for common web development frameworks like Vue, Angular and React.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Information entropy&lt;/strong&gt; and &lt;strong&gt;geosocial systems&lt;/strong&gt; are starting to be theorized, but not showing up. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Phase 1 Action Points&lt;/strong&gt;: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Time Token ERC proposal on Ethereum + EVM (and similar for other blockchains like EOSIO)&lt;/li&gt;
&lt;li&gt;Developers exploring use cases for Time Tokens &lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Phase Two&lt;/strong&gt;
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;dApps and discovering issues&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Applications using Time Tokens&lt;/strong&gt; are widespread, and issues in implementations are becoming known and solved. Developers who open time token faucets are seeing their token be used in third-party apps in ways they didn't foresee. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Provable identity issues&lt;/strong&gt; are becoming apparent, as certain applications with &lt;strong&gt;lax rules&lt;/strong&gt; are being manipulated, showing the need for true provable identity. The best solutions are becoming known alongside the problems.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Information entropy&lt;/strong&gt; principles are starting to be implemented, when required.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Geosocial systems&lt;/strong&gt; are starting to be built, but not used for "real applications" like running a government because of lack of true provable individuality, and social inertia.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Phase 2 Action Points&lt;/strong&gt;: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Proposing the best uses for geosocial systems using time tokens&lt;/li&gt;
&lt;li&gt;Incorporating different provable identity methods&lt;/li&gt;
&lt;li&gt;Developers implementing Time Token in unexpected ways&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Phase Three&lt;/strong&gt;
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;Implementing Provable Identity&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Provable Identity&lt;/strong&gt; is now possible as suggested in this manifesto through the maturity of the biometric secrets. Standards are being created openly, or, it is decided that the way presented here is not needed as a better way is found. Or, biokeys are completely abandoned as a form of social verification is found that can replace it. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Geosocial systems&lt;/strong&gt; are being used to run and govern communities which are not dependent on traditional representative government. Existing municipalities are adopting time tokens to get a better read on what legislation the people want. &lt;/p&gt;

&lt;p&gt;Organizations of all sizes are using time tokens to shift power to employees. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Phase 3 Action Points&lt;/strong&gt;: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Picking proof of individuality solutions that satisfy all requirements&lt;/li&gt;
&lt;li&gt;Possibly abandoning biometric system presented here&lt;/li&gt;
&lt;li&gt;Communities running on web 4&lt;/li&gt;
&lt;li&gt;Governments benefiting from web 4&lt;/li&gt;
&lt;li&gt;Organizations using web 4&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Phase Four&lt;/strong&gt;
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;Geosocial systems&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Information entropy&lt;/strong&gt; is added to the systems where it can be of use. For example, this could make a person's (anonymous) voting record less knowable over time by increasing the amount of CPU time needed to associate one vote with another. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Geosocial systems&lt;/strong&gt; are being used as a replacement for representative government where it is the will of the people. Voter informedness is measured and known, as are the exact desires of the people. This creates collaboration and a renewed faith in democracy, and a feeling of belongingness and appreciation for each individual. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Phase 4 Action Points&lt;/strong&gt;: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Building and operating geosocial systems for the benefit of society and any collaborating group&lt;/li&gt;
&lt;li&gt;Exploring use cases and integrating information entropy where appropriate&lt;/li&gt;
&lt;/ul&gt;

&lt;h1&gt;
  
  
  Author notes
&lt;/h1&gt;

&lt;h2&gt;
  
  
  Change Without Conflict
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;No one can stop us&lt;/strong&gt; from building collaborative systems with web 4 and even &lt;strong&gt;self-governing&lt;/strong&gt;. &lt;strong&gt;We don't need&lt;/strong&gt; to "tear down the system" or separate from society to do so. &lt;strong&gt;Web 4 can exist&lt;/strong&gt; fully embedded in the geopolitical systems around us, while implementing and improving the four concepts, the underpinnings of biomimetic democracy.&lt;/p&gt;

&lt;p&gt;If and when the "old system" meets its demise, as all things do, &lt;strong&gt;we can transition rapidly&lt;/strong&gt; to a web 4 system like &lt;a href="https://github.com/dougbutner/effective-collective" rel="noopener noreferrer"&gt;Effective Collective&lt;/a&gt; or any other, as this solution will already be in place. &lt;/p&gt;

&lt;h2&gt;
  
  
  Why use the term "Web 4"
&lt;/h2&gt;

&lt;p&gt;It is my belief that each version of the web must 1) be built on top of the previous version, 2) be fundamentally different than the previous version by introducing new technology, and 3) have meaningful impact on society. &lt;/p&gt;

&lt;p&gt;This proposal for the next iteration of the web is an effort to both expand and shift the path of information science in a direction where the &lt;strong&gt;meaningful impact&lt;/strong&gt; of society involves: 1) empowerment of each individual, which serve as the basis for collective (social), economic, and novel applications; 2) provable identity verification while maintaining complete separation from any federated system, including government, with the side-benefit of lifelong recoverability of biokeys with biosecrets; and 3) resonance with our contained and containing systems, like our human organs and the Solar system, which provide us with life and free energy daily, akin to free time tokens.&lt;/p&gt;

&lt;p&gt;While an argument could easily be made that DeFi is Web 4, or another emerging tech, like "layer 2" blockchains (rollups) are web 4, both of these are &lt;strong&gt;not new&lt;/strong&gt;. DeFi mimics and improves the systems of the past. Rollups are merely making web 3 &lt;strong&gt;more efficient&lt;/strong&gt;. &lt;/p&gt;

&lt;p&gt;It is my hope and desire that the information presented here will be &lt;strong&gt;expanded&lt;/strong&gt; on and &lt;strong&gt;implemented&lt;/strong&gt; by many developers and systems in the coming years, not for the benefit of the few, but for the &lt;strong&gt;empowerment&lt;/strong&gt; of each individual and the &lt;strong&gt;harmony&lt;/strong&gt; of the human collective, and every layer of Gaia. &lt;/p&gt;




&lt;h1&gt;
  
  
  Notes + References
&lt;/h1&gt;




&lt;p&gt;[1] - Solutions like Civic and Facetec have proved to be effective in verifying individuality. KYC services rely on government-issued identification, physical signature, and minimal, often human-checked bioverification. Until the technology is developed for a biometric system resembling the ideas here, these options (as well as social verification) are viable, though not fully embodying the idea of web 4. &lt;/p&gt;

&lt;p&gt;[2] - Hao, K. &amp;amp; O'Neill P. (2020, August 06). The hack that could make face recognition think someone else is you. Originally Published at &lt;a href="https://www.technologyreview.com/2020/08/05/1006008/ai-face-recognition-hack-misidentifies-person/" rel="noopener noreferrer"&gt;https://www.technologyreview.com/2020/08/05/1006008/ai-face-recognition-hack-misidentifies-person/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;[3] - Nishimura H., Kanoshima E., Kono K. (2019) Advancement in Science and Technology and Human Societies. In: Abe S., Ozawa M., Kawata Y. (eds) Science of Societal Safety. Trust (Interdisciplinary Perspectives), vol 2. Springer, Singapore. &lt;a href="https://doi.org/10.1007/978-981-13-2775-9_2" rel="noopener noreferrer"&gt;https://doi.org/10.1007/978-981-13-2775-9_2&lt;/a&gt; (Specifically section 2.1.3) &lt;br&gt;
web &lt;a href="https://link.springer.com/chapter/10.1007/978-981-13-2775-9_2" rel="noopener noreferrer"&gt;link&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;[4] - Face.io Integration Guide - Web &lt;a href="https://faceio.net/integration-guide" rel="noopener noreferrer"&gt;link&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  See Changelog + Latest Updates: &lt;a href="https://github.com/dougbutner/web-4" rel="noopener noreferrer"&gt;Web4 paper on Github&lt;/a&gt;
&lt;/h1&gt;

&lt;h1&gt;
  
  
  Appendices
&lt;/h1&gt;

&lt;h2&gt;
  
  
  Appendix A: Time Token Implementation
&lt;/h2&gt;

&lt;p&gt;Here's a sample function to convert from timestamp to a time unit. Time-based systems don't always need a token linking the account owner, and you can compute from native time types. &lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;// --- Returns the current Time Unit --- \\
function getTu() { // Returns the current Time Unit
  // 1561139700 is the first Time Unit
  let nowts = new Date().getTime(); 
  let tu_ = Math.floor((Math.floor(nowts/1000) - 1561139700) / 300);  // Divide by the length of a Time Unit in seconds
  return tu_;
}//END getTu()
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Here's an example of a &lt;a href="https://github.com/dougbutner/beta-pseudo/blob/main/real-contracts/ups.hpp" rel="noopener noreferrer"&gt;smart contract structure&lt;/a&gt; implementing the time token concept on EOSIO blockchain technology to make a democratic music map. The missing functionality in this example is the distribution of Time Token, handled in another contract. &lt;/p&gt;

&lt;p&gt;In this contract, the tokens used to do the voting are Time Tokens for the dapp cXc.world. The contract listens for transfers of this time token to the contract, and assigns an equal amount of weight to each vote in &lt;code&gt;logup()&lt;/code&gt;. To view the full contract an actions, review the &lt;a href="https://github.com/dougbutner/beta-pseudo/blob/main/real-contracts/ups.hpp" rel="noopener noreferrer"&gt;open-source contract on Github&lt;/a&gt; and to understand what the concepts are, view the &lt;a href="https://github.com/currentxchange/purple-explainer" rel="noopener noreferrer"&gt;explainer document&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;#include "eosio/eosio.hpp"&lt;br&gt;
  #include &lt;/p&gt;

&lt;p&gt;using namespace std;&lt;br&gt;
  using namespace eosio;&lt;br&gt;
  using std::string;&lt;/p&gt;

&lt;p&gt;class [[eosio::contract]] ups : public contract {&lt;/p&gt;

&lt;p&gt;using contract::contract;&lt;br&gt;
  public: &lt;/p&gt;

&lt;p&gt;#include "songs.hpp"&lt;/p&gt;

&lt;p&gt;struct song {&lt;br&gt;
    string title;&lt;br&gt;
    vector links;&lt;br&gt;
    vector geoloc; &lt;br&gt;
    uint8_t genre;&lt;br&gt;
    uint8_t mood;&lt;br&gt;
    uint8_t format;&lt;br&gt;
    string atomictempid;&lt;br&gt;
  };&lt;/p&gt;

&lt;p&gt;uint32_t timeunit;&lt;/p&gt;

&lt;p&gt;std::string AUTH_ACCOUNTS[6] = { "authorized", "accounts" };&lt;/p&gt;

&lt;p&gt;enum up_type {&lt;br&gt;
    SOL = 1,&lt;br&gt;
    BLUX = 2,&lt;br&gt;
    BIG = 3,&lt;br&gt;
    BIGSOL = 4 // -- This allows one call to send both Sol and Big Ups, greedy for all 64 Ups to make one Big Up (Won't work otherwise) &lt;br&gt;
  };&lt;/p&gt;

&lt;p&gt;private:&lt;br&gt;&lt;br&gt;
    TABLE upslog { &lt;br&gt;
      uint upid;&lt;br&gt;&lt;br&gt;
      uint32_t songid;&lt;br&gt;
      uint32_t totalsolups; &lt;br&gt;
      uint32_t totalbluups;&lt;br&gt;
      uint32_t totalbigups;&lt;br&gt;
      uint32_t tuid;&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;  uint64_t primary_key() const { return upid; }
  uint64_t by_songid() const { return (uint64_t) songid; }
  uint64_t by_solups() const { return (uint64_t) totalsolups; }
  uint64_t by_bluups() const { return (uint64_t) totalbluups; }
  uint64_t by_bigups() const { return (uint64_t) totalbigups; }
  uint64_t by_tuid() const { return (uint64_t) tuid; }
};

using upslog_table = multi_index&amp;lt;name("upslog"), upslog,
  eosio::indexed_by&amp;lt;"bysongid"_n, eosio::const_mem_fun&amp;lt;upslog, uint64_t, &amp;amp;upslog::by_songid&amp;gt;&amp;gt;,
  eosio::indexed_by&amp;lt;"bysolups"_n, eosio::const_mem_fun&amp;lt;upslog, uint64_t, &amp;amp;upslog::by_solups&amp;gt;&amp;gt;,
  eosio::indexed_by&amp;lt;"bybluups"_n, eosio::const_mem_fun&amp;lt;upslog, uint64_t, &amp;amp;upslog::by_bluups&amp;gt;&amp;gt;,
  eosio::indexed_by&amp;lt;"bybigups"_n, eosio::const_mem_fun&amp;lt;upslog, uint64_t, &amp;amp;upslog::by_bigups&amp;gt;&amp;gt;,
  eosio::indexed_by&amp;lt;"bytuid"_n, eosio::const_mem_fun&amp;lt;upslog, uint64_t, &amp;amp;upslog::by_tuid&amp;gt;&amp;gt;
&amp;gt;;

TABLE totals {
  uint32_t songid;
  uint32_t totalsolups; 
  uint32_t totalbluups;
  uint32_t totalbigups;
  uint32_t updated;

  uint64_t primary_key() const { return songid; }
};

using totals_table = multi_index&amp;lt;name("totals"), totals&amp;gt;;

TABLE songs { //CHECK need to store the type of account here?
  uint32_t songid;
  name artistacc;
  uint8_t artisttype;
  song song;

  uint64_t primary_key() const { return (uint64_t) songid; }

};

using songs_table = multi_index&amp;lt;name("songs"), songs&amp;gt;;

// --- Activity stats for Listeners (For future awards) --- \\
TABLE listeners {
  name upsender;
  uint32_t firstup;
  uint32_t lastup;
  uint32_t totalsolups;
  uint32_t totalbluups;
  uint32_t totalbigups;

  uint64_t primary_key() const { return upsender.value; }
};

  using listeners_table = multi_index&amp;lt;name("listeners"), listeners&amp;gt;;

// --- Store record of who to pay --- \\ 
// CHECK (in .cpp) that we are paying both the upsender + upcatcher
TABLE ious {
  uint64_t iouid;
  name upsender;
  name upcatcher;
  uint8_t artisttype;
  uint32_t upscount; // Should be either BIGSOL or sol up or both
  uint8_t upstype;
  uint32_t initiated;
  uint32_t updated; 

  uint64_t primary_key() const { return iouid; }
  uint64_t by_upcatcher() const { return upcatcher.value; }
  uint64_t by_artisttype() const { return (uint64_t) artisttype; }
  uint64_t by_upscount() const { return (uint64_t) upscount; }
  uint64_t by_initiated() const { return (uint64_t) initiated; }
  uint64_t by_updated() const { return (uint64_t) updated; }
};

using ious_table = multi_index&amp;lt;name("ious"), ious,
  eosio::indexed_by&amp;lt;"byupcatcher"_n, eosio::const_mem_fun&amp;lt;ious, uint64_t, &amp;amp;ious::by_upcatcher&amp;gt;&amp;gt;,
  eosio::indexed_by&amp;lt;"byartisttype"_n, eosio::const_mem_fun&amp;lt;ious, uint64_t, &amp;amp;ious::by_artisttype&amp;gt;&amp;gt;,
  eosio::indexed_by&amp;lt;"byupscount"_n, eosio::const_mem_fun&amp;lt;ious, uint64_t, &amp;amp;ious::by_upscount&amp;gt;&amp;gt;,
  eosio::indexed_by&amp;lt;"byinitiated"_n, eosio::const_mem_fun&amp;lt;ious, uint64_t, &amp;amp;ious::by_initiated&amp;gt;&amp;gt;
&amp;gt;;

// --- Keep record of Artists (recipient in _songs) to pay --- \\
TABLE artists {
  name artistacc;
  string artistalias;
  vector&amp;lt;string&amp;gt; artistinfo;

  uint64_t primary_key() const { return artistacc.value; }
};
using artists_table = multi_index&amp;lt;name("artists"), artists&amp;gt;;

TABLE artistgroups {
  string groupname;
  name intgroupname; // abcdef.cxc // CHECK is there benefit to a name (uint64_t) vs a simple uint32_t? 
  vector&amp;lt;name&amp;gt; artists;
  vector&amp;lt;int8_t&amp;gt; weights;
  vector&amp;lt;string&amp;gt; groupinfo; // CHECK this will work, can pass empty strings, or is there an &amp;lt;auto&amp;gt; type, key value pairs
  uint8_t payposition;  

  uint64_t primary_key() const { return intgroupname.value; }
};

  using groups_table = multi_index&amp;lt;name("artistgroups"), artistgroups&amp;gt;;



TABLE internallog {
  uint32_t lastpay;
  uint32_t lastfullpay; 
  bool remaining; // Did we reach the end of who is owed to pay? 

  uint64_t primary_key() const { return (uint64_t) lastpay; } 
};

using cxclog_table = multi_index&amp;lt;name("artistgroups"), artistgroups&amp;gt;;


void updateup(uint32_t upscount, uint8_t upstype, name upsender, uint32_t songid); 
void logup(uint32_t upscount, uint8_t upstype, name upsender, uint32_t songid); 
void removeups(name user); 
void updateiou(uint32_t upscount, uint8_t upstype, name upsender, uint32_t songid, bool subtract); 
void removeiou(name sender, name receiver); 
void updatelisten(uint32_t upscount, uint8_t upstype, name upsender);
void removelisten(name upsender);
void removesong(uint32_t songid); 
void deepremvsong(uint32_t songid); 


void updateartist(name artist_wax, vector&amp;lt;string&amp;gt; artistinfo, string artistalias); 
void updateartistgroup(name intgroupname,  vector&amp;lt;string&amp;gt; groupinfo, string group_alias, vector&amp;lt;string&amp;gt; artists, vector&amp;lt;int8_t&amp;gt; weights);


// --- Declare the _tables for later use --- \\ 
ious_table _ious;
upslog_table _upslog;
songs_table _songs;
listeners_table _listeners;
artists_table _artists;
groups_table _groups;
totals_table _totals;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;public:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[[eosio::on_notify("sol.cxc::transfer")]] 
void sol_catch( const name from, const name to, const asset quantity, const std::string memo );

ACTION payup(void); // Default call

ACTION payup(name upsender); // User's call to pay themselves

ACTION updateartist(name upsender, vector&amp;lt;string&amp;gt; artistinfo, string artistalias);

ACTION updategroup(name intgroupname, string group_alias, vector&amp;lt;string&amp;gt; artists, vector&amp;lt;int8_t&amp;gt; weights, vector&amp;lt;string&amp;gt; groupinfo);

ACTION updatesong(uint32_t songid, song dasong); 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;};&lt;/p&gt;

&lt;h2&gt;
  
  
  Appendix B: Pseudocode Example of Biometric Function
&lt;/h2&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;function bioKeyGenerator(bioData){&lt;br&gt;
    // Function takes data in the form of user input into their browser or smartphone.&lt;br&gt;
    let recievedData = bioData;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;// With data, quantifyable points are taken algorithmically
let processedBioData = {
    point1:recievedData.point1,
    point2:recievedData.point2,
    point3:recievedData.point3
    ...
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;p&gt;// These points expanded to a pre-defined margin of error geometrically for each input type&lt;br&gt;
const expander = 20; // Set amount to expand dataset based on data type&lt;/p&gt;

&lt;p&gt;let rangedBioData = {&lt;br&gt;
    point1: {&lt;br&gt;
        upperRight: {&lt;br&gt;
            x : processedBioData.point1.x + expander,&lt;br&gt;
            y : processedBioData.point1.y + expander&lt;br&gt;
        },&lt;br&gt;
        lowerLeft: {&lt;br&gt;
            x : processedBioData.point1.x - expander,&lt;br&gt;
            y : processedBioData.point1.y - expander&lt;br&gt;
    },&lt;br&gt;
    point2: {&lt;br&gt;
    ...&lt;br&gt;
    },&lt;br&gt;
    ...&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;let snappedBioData = snapBioDataToGranularPath(rangedBioData);&lt;/p&gt;

&lt;p&gt;// For this to work, a matrix-like object containing every single possible hashed value for every point of data&lt;br&gt;
// ..must be stored on an authentication server for each data input.&lt;br&gt;
// Data must also exhibit granularity (snap to an integer path).&lt;br&gt;
// Without granularity, the hashes will never match a new input's hash.&lt;br&gt;
// This matrix of values is used to compare the biokey with in the future&lt;br&gt;
// This must be made more efficient to use with today's computers&lt;/p&gt;

&lt;p&gt;let x;&lt;br&gt;
let y;&lt;br&gt;
let bioMatrix = {};&lt;br&gt;
for (x = snappedBioData.point1.lowerLeft.x; x &amp;lt;= (expander*2) ; x++) {&lt;br&gt;
    let curXRow = "x"+x;&lt;br&gt;
    let bioMatrix[curXRow] = [];&lt;br&gt;
    for (y = snappedBioData.point1.lowerLeft.y; y &amp;lt; (expander*2) ; y++) {&lt;br&gt;
        curYRow = "y"+y;&lt;br&gt;
        bioMatrix[curYRow].push(sha256(y));&lt;br&gt;
    }&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;// Finally, the real biokey is returned as an object of hashed biometric data, &lt;br&gt;
// which will be checked by comparing each granular piece of data's hash to the incoming granular hashes&lt;/p&gt;

&lt;p&gt;return bioMatrix; // Biokey&lt;/p&gt;

&lt;p&gt;}&lt;/p&gt;

&lt;p&gt;function snapBioDataToGranularPath(rangedBioDataParam){&lt;br&gt;
    //returns data snapped to grid (recursively scans object passed)&lt;br&gt;
}&lt;br&gt;
&lt;/p&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h1&gt;
&lt;br&gt;
  &lt;br&gt;
  &lt;br&gt;
  Pretty Photos of the Code&lt;br&gt;
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--EIccp7qg--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://files.peakd.com/file/peakd-hive/douglasjames/23w2FLJg9q5fp8HF16L8GZVYLz4H6jjK16nAHopbc345JgAi8aacXucYgPAXFJ1ATnXvx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--EIccp7qg--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://files.peakd.com/file/peakd-hive/douglasjames/23w2FLJg9q5fp8HF16L8GZVYLz4H6jjK16nAHopbc345JgAi8aacXucYgPAXFJ1ATnXvx.png" alt="biokey_generator.png" width="800" height="1105"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--mnzWOR41--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://files.peakd.com/file/peakd-hive/douglasjames/23wM2DS97AFprhAYe55bwDpFbU1TikjNdfSr68Y1ii3SDWu7JZWcgu6jZ7VPA98Dpbwrt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--mnzWOR41--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://files.peakd.com/file/peakd-hive/douglasjames/23wM2DS97AFprhAYe55bwDpFbU1TikjNdfSr68Y1ii3SDWu7JZWcgu6jZ7VPA98Dpbwrt.png" alt="pseudocode_biokey_function.png" width="800" height="684"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://unsplash.com/collections/z-eC0_e0vYc/democracy.academy" rel="noopener noreferrer"&gt;Image Credits&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Paper by Douglas James Butner &lt;br&gt;
&lt;a href="mailto:douglas@cxc.world"&gt;douglas@cxc.world&lt;/a&gt;&lt;/p&gt;

&lt;center&gt;
[![Mentioned in Awesome Web 4](https://awesome.re/mentioned-badge.svg)](https://github.com/dougbutner/awesome-web4)
&lt;/center&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://gitcoin.co/grants/7024/provable-democracy" rel="noopener noreferrer"&gt;👉 Passionate about these ideas? Support us on Gitcoin ☕️&lt;/a&gt;
&lt;/h2&gt;

</description>
      <category>web3</category>
      <category>web4</category>
      <category>news</category>
    </item>
    <item>
      <title>cXc.world Releases Music NFT Schema Standard built on Atomic Assets 🤘🎸</title>
      <dc:creator>Douglas James Butner</dc:creator>
      <pubDate>Wed, 16 Jun 2021 11:18:18 +0000</pubDate>
      <link>https://dev.to/dougbutner/cxc-world-releases-music-nft-schema-standard-built-on-atomic-assets-3bh9</link>
      <guid>https://dev.to/dougbutner/cxc-world-releases-music-nft-schema-standard-built-on-atomic-assets-3bh9</guid>
      <description>&lt;p&gt;&lt;a href="https://i.giphy.com/media/y6IUSYmbP0pTvkhzma/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/y6IUSYmbP0pTvkhzma/giphy.gif" width="480" height="480"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We built this standard to use in our Music NFT creator coming to cXc.world. Our NFT creator will allow you to fill out a form and mint the NFT to your own collection, or, if you qualify, you can mint to our exclusive collection. &lt;/p&gt;

&lt;h2&gt;
  
  
  So why did we make a whole recommendation?
&lt;/h2&gt;

&lt;p&gt;Here at cXc, we like to get down to the nitty-gritty of how things work. That’s why we invented a whole new &lt;a href="https://github.com/currentxchange/purple-explainer" rel="noopener noreferrer"&gt;blockchain curation system&lt;/a&gt; to run cXc.world instead of using an existing algorithm. &lt;/p&gt;

&lt;p&gt;We carried this love over to the NFT scene to offer anyone - project, band, or individual - some suggestions to help structure the data attached to a Music NFT. This will make it easier for low-techy artists to mint their NFTs. Of course, we’ll make it even easier for no-techs to mint using our NFT creator, but releasing the standard separately invites all levels and needs to interact with cXc, Atomic Assets, and the WAX ecosystem. A Win-Win-Win!&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Below you’ll find cXc’s Music NFT Recommendation. &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This recommendation is being updated as new needs are presented, but this article is not, so check out &lt;a href=""&gt;cXc’s Music NFT Recommendation on Github&lt;/a&gt; for the latest + greatest music NFTs.  &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--B2saaQ0K--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://files.peakd.com/file/peakd-hive/currentxchange/23tS12jtovXXYhg1tiy7u5kCniFzUdrNAA3Picv3UPepyjdhyoTH6uZv3KQEnbtYuZEv2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--B2saaQ0K--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://files.peakd.com/file/peakd-hive/currentxchange/23tS12jtovXXYhg1tiy7u5kCniFzUdrNAA3Picv3UPepyjdhyoTH6uZv3KQEnbtYuZEv2.png" alt="Screen Shot 2021-06-15 at 4.29.32 PM.png" width="800" height="340"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  cXc Music NFT Schema Recommendation 🎸
&lt;/h2&gt;

&lt;p&gt;The cXc Music NFT Schema serves as a recommendation for any individual, collection, or application to publish a music NFT. &lt;/p&gt;

&lt;p&gt;The benefits of using this schema include forward compatibility (Geotags) monetizing NFT plays with traditional platform players, infinite credits and links, and more.&lt;/p&gt;

&lt;p&gt;This Schema exists within Atomic Asset's &lt;a href="https://github.com/pinknetworkx/atomicassets-contract" rel="noopener noreferrer"&gt;NFT standard&lt;/a&gt; on the &lt;a href="https://wax.bloks.io/account/atomicassets" rel="noopener noreferrer"&gt;atomicassets contract&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Feel free to use or modify this schema for your own purposes. &lt;/p&gt;




&lt;h2&gt;
  
  
  Summary 🗞️
&lt;/h2&gt;

&lt;p&gt;This standard includes:  &lt;/p&gt;

&lt;p&gt;Name of the NFT (Can be different than track title)&lt;/p&gt;

&lt;p&gt;One audio file&lt;br&gt;&lt;br&gt;
One video file&lt;br&gt;&lt;br&gt;
Three images [Main, Back, and Promo]   &lt;/p&gt;

&lt;p&gt;Title [If different than name]&lt;br&gt;&lt;br&gt;
Album name&lt;br&gt;&lt;br&gt;
Track # [If it's just one track]   &lt;/p&gt;

&lt;p&gt;Any number of custom credits&lt;br&gt;&lt;br&gt;
Any number of custom platform links   &lt;/p&gt;

&lt;p&gt;ISO Country code&lt;br&gt;&lt;br&gt;
Readable locale&lt;br&gt;&lt;br&gt;
Pin as GeoJson Point   &lt;/p&gt;

&lt;p&gt;License&lt;br&gt;&lt;br&gt;
Rarity   &lt;/p&gt;

&lt;h2&gt;
  
  
  Technical Summary ⚙️
&lt;/h2&gt;

&lt;p&gt;All media fields use IPFS.   &lt;/p&gt;

&lt;p&gt;All other info fields are strings (except "track" is int64)  &lt;/p&gt;

&lt;p&gt;String arrays are used to store unlimited Credits and Platform links.&lt;br&gt;&lt;br&gt;
Ex.&lt;br&gt;&lt;br&gt;
credits ["Band":"Boaty &amp;amp; The Boats","Bassist: Tim Leary", "Vocalist: Boaty McBoatface"]&lt;br&gt;&lt;br&gt;
platform ["youtube.com/v/gf75ja5","soundcloud.com/my/song"] or ["Soundcloud: soundcloud.com/my/song"]&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s---SyzTgzK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://files.peakd.com/file/peakd-hive/currentxchange/23t76kXYvsZejeWwmPP1umXqbiH5pEuTEKyeNsrnLXG4pMHeUwvom7753v9eoNbGNXUPB.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s---SyzTgzK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://files.peakd.com/file/peakd-hive/currentxchange/23t76kXYvsZejeWwmPP1umXqbiH5pEuTEKyeNsrnLXG4pMHeUwvom7753v9eoNbGNXUPB.png" alt="cXc Music NFT Schema Recommendation Standard (1.0.0) for Atomic Assets on Atomichub" width="800" height="471"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Geo 🌍
&lt;/h2&gt;

&lt;p&gt;ISO country codes (ISO 3166-1 alpha-3)&lt;/p&gt;

&lt;p&gt;Locale string intended to be used in this format "City, County, State" or corresponding values for a given locality&lt;/p&gt;

&lt;p&gt;geotag is a GeoJson point stored as a string&lt;/p&gt;

&lt;p&gt;License is for codes like "CC-BY", or possibly declaring some privilege grant upon receiving NFT. &lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field name&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;name&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;NFT name&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;img&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;Primary image / Cover image&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;audio&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;Audio file IPFS hash&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;video&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;Music video file IPFS has&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;backimg&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;Back cover of album / single&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;promo&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;Extra image for promo poster, QR code, etc&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;title&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;The actual title of the track&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;album&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;Title of the album&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;track&lt;/td&gt;
&lt;td&gt;int64&lt;/td&gt;
&lt;td&gt;Number of the track on the album&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;about&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;Description field with info about&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;credits&lt;/td&gt;
&lt;td&gt;string[]&lt;/td&gt;
&lt;td&gt;Array of song credits&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;youtube&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;Youtube URL&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;spotify&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;Spotify URL&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;soundcloud&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;Soundcloud URL&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;platforms&lt;/td&gt;
&lt;td&gt;string[]&lt;/td&gt;
&lt;td&gt;How scarce is this NFT?&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;nation&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;Three-letter ISO (USA, BRA, AUS, etc)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;locale&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;Concatanation of lower locales (State, County, City in USA)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;geotag&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;GeoJSON Point stored as string&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;license&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;Declare license if needed, (CC0, etc)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;rarity&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;How scarce is this NFT?&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  To use this Standard
&lt;/h2&gt;

&lt;p&gt;Paste the following array into the &lt;code&gt;idata&lt;/code&gt; field using the Atomic Assets &lt;a href="https://wax.bloks.io/account/atomicassets?loadContract=true&amp;amp;tab=Actions&amp;amp;account=atomicassets&amp;amp;scope=atomicassets&amp;amp;limit=100&amp;amp;action=createschema" rel="noopener noreferrer"&gt;createschema&lt;/a&gt; action to create your own schema on Atomic Assets, and then create &lt;a href="https://wax.bloks.io/account/atomicassets?loadContract=true&amp;amp;tab=Actions&amp;amp;account=atomicassets&amp;amp;scope=atomicassets&amp;amp;limit=100&amp;amp;action=createtemp" rel="noopener noreferrer"&gt;template&lt;/a&gt; from the schema for each NFT you release. Because this standard uses the &lt;code&gt;string[]&lt;/code&gt; (string array) type, it's currently not possible to use directly on &lt;a href="https://wax.atomichub.io/" rel="noopener noreferrer"&gt;Atomichub&lt;/a&gt; UI, but should be in the future.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;ℹ️  Important  &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Using this schema does not mean that each template must have every field filled, but you can only choose from fields in your future templates. You may add fields to the schema later, but not remove them. New fields will appear at the end, thus, best modify this standard to your needs before deploying.&lt;/p&gt;

&lt;h2&gt;
  
  
  cXc Music Schema 🕺
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="p"&gt;[&lt;/span&gt;
  &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;name&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;name&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;type&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;string&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
  &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;name&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;img&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;type&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;image&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
  &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;name&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;audio&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;type&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;ipfs&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
  &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;name&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;video&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;type&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;ipfs&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
  &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;name&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;backimg&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;type&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;image&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
  &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;name&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;promo&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;type&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;image&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
  &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="p"&gt;{&lt;/span&gt;          
    &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;name&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;title&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;type&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;string&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
  &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;name&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;album&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;type&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;string&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
  &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;name&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;track&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;type&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;int64&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
  &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;name&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;about&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;type&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;string&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
  &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;name&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;credits&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;type&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;string[]&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
  &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;name&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;youtube&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;type&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;string&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
  &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;name&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;spotify&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;type&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;string&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
  &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;name&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;soundcloud&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;type&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;string&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
  &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;name&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;platforms&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;type&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;string[]&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
  &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;name&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;nation&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;type&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;string&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
  &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;name&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;locale&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;type&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;string&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
  &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;name&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;geotag&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;type&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;string&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
  &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;name&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;license&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;type&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;string&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
  &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;name&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;rarity&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;type&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;string&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h1&gt;
  
  
  Create a Template  🛠️ 🖼️.
&lt;/h1&gt;

&lt;p&gt;Use &lt;a href="https://github.com/currentxchange/Music-NFT-Standard/blob/main/Template%20Example.md" rel="noopener noreferrer"&gt;this example&lt;/a&gt; (also below) to create a template you can use to drop your own Music NFTs using tools like &lt;a href="https://wax.atomichub.io/" rel="noopener noreferrer"&gt;Atomichub&lt;/a&gt; and &lt;a href="https://neftyblocks.com/" rel="noopener noreferrer"&gt;Neftyblocks&lt;/a&gt;.&lt;/p&gt;

&lt;h1&gt;
  
  
  Modify this schema  🛠️
&lt;/h1&gt;

&lt;p&gt;Change any field you wish when making your own schema &lt;/p&gt;

&lt;p&gt;Suggestions:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Artist&lt;/strong&gt; - If you'd rather have your name here than in credits&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Multiple Audio fields&lt;/strong&gt; - Duplicate the audio fields to include all songs on an album (DYOR on support)&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Metadata&lt;/strong&gt; - Add custom metadata like the key, BPM, time, whatever you want   &lt;/p&gt;

&lt;p&gt;If you'd rather include all of your links in the Platform field, you can remove the Spotify, Soundcloud, and Youtube field. &lt;/p&gt;

&lt;p&gt;Removing Youtube will also disable Youtube player from showing up on Atomichub and likely other marketplaces.&lt;/p&gt;

&lt;h1&gt;
  
  
  Power of the Schema ✨ 🧙‍♂️
&lt;/h1&gt;

&lt;p&gt;There is no magical benefit (yet) of using this standard, just practical ones. Youtube plays can bring extra revenue, as will the links to other players. You may credit all involved, and geographic data opens up new use cases for your NFT.  &lt;/p&gt;

&lt;p&gt;In the future it's possible a mapp / dapp (like cXc) to allow users to register their own schemas that adhere to this standard, creating a Music-NFT exclusive platform that doesn't rely on accounts or collection names alone. &lt;/p&gt;

&lt;h1&gt;
  
  
  Evolution of the Schema 🚀 🛸
&lt;/h1&gt;

&lt;p&gt;This schema will grow and evolve. Feel free to open issues on this repo with your suggestions.  &lt;/p&gt;

&lt;p&gt;If you translate to another blockchain or NFT standard, please send a pull request adding a file named .md in the main directory containing the code needed to deploy, or open an issue with the code and I can update the repo if you prefer. &lt;/p&gt;

&lt;h1&gt;
  
  
  Music NFT Template for Atomic Assets
&lt;/h1&gt;

&lt;p&gt;Here is an example of how to format a template according to this reccommendation. You will see not every field is used, as you can use only what you need.&lt;/p&gt;

&lt;p&gt;To do this you will have to use the &lt;a href="https://wax.bloks.io/account/atomicassets?loadContract=true&amp;amp;tab=Actions&amp;amp;account=atomicassets&amp;amp;scope=atomicassets&amp;amp;limit=100&amp;amp;action=createtempl" rel="noopener noreferrer"&gt;atomicassets =&amp;gt; createtempl&lt;/a&gt; action.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://wax.atomichub.io/explorer/template/cxcmusicnfts/166771" rel="noopener noreferrer"&gt;View this template on Atomichub&lt;/a&gt;&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[
  {
    "key": "name",
    "value": [
      "string",
      "Bluebirds 🥇"
    ]
  },
  {
    "key": "img",
    "value": [
      "string",
      "QmP1gc43EsmXoaYuT2XPZFWx9SDKk9JxAzpPMP4AUm3aof"
    ]
  },
  {
    "key": "promo",
    "value": [
      "string",
      "QmYzu7Dz7LqZP3jq4zmt84rpmjWm2AfhH1SF4Et5LbxVJy"
    ]
  },
  {
    "key": "audio",
    "value": [
      "string",
      "QmWGFx5epoiQBJ3CwBQ3VpNKNJ5VFoKoKDbXExiNLF5zAQ"
    ]
  },
  {
    "key": "about",
    "value": [
      "string",
      "Watching a bird opening it’s wings, Bluebirds is a soul’s reflection on the path through this marvelous galaxy. Over a classy beat Douglas expresses an egoic journey, and the desire to look past it while seeking meaning beyond science and religion."
    ]
  },
  {
    "key": "credits",
    "value": [
      "STRING_VEC",
      ["Artist: Sir Douglas Fresh","Beat: Blue Birds by Ours Samplus, live-mixed by Scarfinger"]
    ]
  },
  {
    "key": "youtube",
    "value": [
      "string",
      "youtube.com/watch?v=trpj6qmLflk"
    ]
  },
  {
    "key": "soundcloud",
    "value": [
      "string",
      "soundcloud.com/sirdouglasfresh/bluebirds-beat-by-ours-samplus-live-mix-by-scarfinger"
    ]
  },
  {
    "key": "platforms",
    "value": [
      "STRING_VEC",
      ["music.cxc.world/?id=1948"]
    ]
  },  
  {
    "key": "album",
    "value": [
      "string",
      "The Evolution of Sir Douglas Fresh (Mixtape)"
    ]
  },
  {
    "key": "nation",
    "value": [
      "string",
      "USA"
    ]
  },
  {
    "key": "locale",
    "value": [
      "string",
      "Accident, Garrett County, MD"
    ]
  },
  {
    "key": "geotag",
    "value": [
      "string",
      "[39.555,-79.240]"
    ]
  },
  {
    "key": "rarity",
    "value": [
      "string",
      "Epic"
    ]
  }
]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--KWHrNaav--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_800/https://files.peakd.com/file/peakd-hive/currentxchange/AK2E5JP8K7TjH5uahtxDH8Mh1WA4DsmUzLUjkHW2vDyJ3fURTJvPpRnVnhadkny.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--KWHrNaav--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_800/https://files.peakd.com/file/peakd-hive/currentxchange/AK2E5JP8K7TjH5uahtxDH8Mh1WA4DsmUzLUjkHW2vDyJ3fURTJvPpRnVnhadkny.gif" alt="cxc.world music nft seal.gif" width="320" height="320"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  💥 FIND OUT MORE ABOUT &lt;a href="https://cXc.world" rel="noopener noreferrer"&gt;cXc&lt;/a&gt; 💥
&lt;/h2&gt;




&lt;p&gt;Current X Change is dedicated to harmonizing Humans, Collectives, and Gaia. Our media Mapps are just the start. As we refine Purple, we also seek to redefine what it means to come together as humans and co-create. We hope you'll enjoy the tools already here, and are infinitely stoked for what the future holds. &lt;/p&gt;

&lt;h2&gt;
  
  
  🗺️ Experience &lt;a href="https://currentxchange.com/vision" rel="noopener noreferrer"&gt;cXc.world 🌎&lt;/a&gt;
&lt;/h2&gt;

&lt;h2&gt;
  
  
  👁️ Step into our &lt;a href="https://currentxchange.com/vision" rel="noopener noreferrer"&gt;vision&lt;/a&gt;
&lt;/h2&gt;

&lt;h2&gt;
  
  
  🎥  &lt;a href="https://www.youtube.com/watch?v=7NCaG2ZPHOQ" rel="noopener noreferrer"&gt;Add Music to cXc.world&lt;/a&gt;
&lt;/h2&gt;

&lt;h2&gt;
  
  
  💸 Get to know our &lt;a href="https://github.com/currentxchange/purple-explainer" rel="noopener noreferrer"&gt;Economy&lt;/a&gt;
&lt;/h2&gt;




&lt;h1&gt;
  
  
  💰BUY &amp;amp; TRADE PURPLE, BLUx 📈
&lt;/h1&gt;




&lt;h2&gt;
  
  
  🟣 &lt;a href="https://wax.alcor.exchange/trade/PURPLE-purplepurple_WAX-eosio.token" rel="noopener noreferrer"&gt;PURPLE/WAX&lt;/a&gt; ~~ 🔵 &lt;a href="https://wax.alcor.exchange/trade/BLUX-bluxbluxblux_WAX-eosio.token" rel="noopener noreferrer"&gt;BLUx/WAX&lt;/a&gt; ~~ 🟣🔵 &lt;a href="https://wax.alcor.exchange/trade/BLUX-bluxbluxblux_WAX-eosio.token" rel="noopener noreferrer"&gt;PURPLE/BLUx&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Get specifics about these tokens in our &lt;a href="https://github.com/currentxchange/purple-explainer/blob/master/Economic-Brief.md" rel="noopener noreferrer"&gt;Economic Brief&lt;/a&gt;&lt;/p&gt;




&lt;h1&gt;
  
  
  🎁 OFFICIAL cXc MERCH 🛍️
&lt;/h1&gt;




&lt;p&gt;👕 Shop cXc &lt;a href="https://artofwhere.com/artists/cxc-world-merch" rel="noopener noreferrer"&gt;High-fashion&lt;/a&gt; (Made in 🇨🇦)&lt;/p&gt;

&lt;p&gt;🔴 cXc Stickers, shirts + More on &lt;a href="https://www.redbubble.com/people/currentxchange/shop?artistUserName=CurrentXChange&amp;amp;iaCode=all-stickers" rel="noopener noreferrer"&gt;Redbubble&lt;/a&gt;&lt;/p&gt;




&lt;h1&gt;
  
  
  Follow cXc on Social Media 📱🌎
&lt;/h1&gt;




&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="//instagram.com/cxc.world"&gt;🖼️ Instagram&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="//twitter.com/currentxchange"&gt;🐦 Twitter&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="//youtube.com/channel/UCBjTUosp2R_FN6AFdHV-v-Q"&gt;📺 YouTube&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="//peakd.com/@currentxchange"&gt;🐝 Hive&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://peakd.com/c/hive-179421" rel="noopener noreferrer"&gt;🏘️ Hive Community&lt;/a&gt; &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="https://discord.gg/4fhWgZ5R5s" rel="noopener noreferrer"&gt;🔑 Discord Musician Community&lt;/a&gt; (Collab + more)&lt;/strong&gt; &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.reddit.com/r/cXcMusic" rel="noopener noreferrer"&gt;🔺 Reddit&lt;/a&gt; &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="https://t.me/cXc_world" rel="noopener noreferrer"&gt;✈️ Telegram&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://medium.com/wavvys" rel="noopener noreferrer"&gt;🌊 Wavvy Music Accolades&lt;/a&gt; (NFT Music Awards)&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  💰🤑 Swaps (Instant Liquidity) 🟡🟣 &lt;a href="https://wax.alcor.exchange/swap?output=PURPLE-purplepurple&amp;amp;input=WAX-eosio.token" rel="noopener noreferrer"&gt;WAX/PURPLE&lt;/a&gt; ~~ 🟡🔵 &lt;a href="https://wax.alcor.exchange/swap?output=BLUX-bluxbluxblux&amp;amp;input=WAX-eosio.token" rel="noopener noreferrer"&gt;WAX/BLUx&lt;/a&gt;
&lt;/h2&gt;




&lt;p&gt;What are BLUx and PURPLE? Find out in our &lt;a href="https://github.com/currentxchange/purple-explainer" rel="noopener noreferrer"&gt;Purple Explainer&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  (cXc) &lt;a href="https://github.com/currentxchange/purple-explainer/blob/master/Roadmap.md" rel="noopener noreferrer"&gt;Roadmap 🛣️ &lt;/a&gt;
&lt;/h2&gt;

</description>
    </item>
    <item>
      <title>🖼️ Introducing cXc.world's Music NFTs Standard: Request for Feedback 🎸🤘</title>
      <dc:creator>Douglas James Butner</dc:creator>
      <pubDate>Fri, 14 May 2021 23:38:29 +0000</pubDate>
      <link>https://dev.to/dougbutner/introducing-cxc-world-s-music-nfts-standard-request-for-feedback-4f7k</link>
      <guid>https://dev.to/dougbutner/introducing-cxc-world-s-music-nfts-standard-request-for-feedback-4f7k</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;In this post, we'll introduce the cXc Music NFT standard first draft, and welcome your feedback&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h1&gt;
  
  
  Making Music NFTs work for all artists
&lt;/h1&gt;

&lt;h2&gt;
  
  
  Background
&lt;/h2&gt;

&lt;p&gt;There's been a lot of talk and anticipation on Music NFTs across the whole blockchain space, not just WAX. On WAX, we've seen a few music NFT projects take shape, including &lt;a href="https://twitter.com/UpliftArt" rel="noopener noreferrer"&gt;Uplift&lt;/a&gt;, &lt;a href="https://www.yoshidrops.com/" rel="noopener noreferrer"&gt;YoshiDrops&lt;/a&gt; and &lt;a href="https://twitter.com/chronamut" rel="noopener noreferrer"&gt;Shawn Dall&lt;/a&gt; (all friends)&lt;/p&gt;

&lt;h2&gt;
  
  
  Currently, Music NFTs are near-monopolized by big-name artists, but we want to change that.
&lt;/h2&gt;

&lt;p&gt;Every artist should be able to mint a professional Music NFT with little effort, and without all the guesswork + technical knowledge.  &lt;/p&gt;

&lt;p&gt;In cXc Beta, we're going to offer a NFT builder that gives you the option to mint to your own collections by duplicating our schemas for you, or, if you meet the requirements of minimum Ups on cXc.world, you can mint to our exclusive collection that will give you added credibility, yet is within reach of every artist, whether just starting out or already a local legend. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://i.giphy.com/media/4oMoIbIQrvCjm/source.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/4oMoIbIQrvCjm/source.gif" width="500" height="384"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  cXc's Music NFT Specification
&lt;/h1&gt;

&lt;p&gt;Our goal is to empower the ARTIST, including promoting their centralized platforms (that usually pay for streams) and also set up the NFT with useful geospatial information that future Dapps can use, meaning this NFT could have a long and useful life, even outside of cXc. &lt;/p&gt;

&lt;p&gt;Keep in mind all of these fields are OPTIONAL. Meaning if you don't want to have the location information, or don't have a promo image, that's okay! &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;See an example asset with a song from cXc's founder &lt;a href="https://wax-test.atomichub.io/explorer/asset/1099513960533" rel="noopener noreferrer"&gt;here&lt;/a&gt; and an updated template with the changes we added &lt;a href="https://wax-test.atomichub.io/explorer/template/cxcmusicnfts/81585" rel="noopener noreferrer"&gt;here&lt;/a&gt; (most accurate example)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--HsZ6OlVG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://files.peakd.com/file/peakd-hive/currentxchange/23tbRG9EY7pFcExkXHrAnqt2w9ecYE3THD5yVUy4UafKJQqExfEFsxcnhXHQe24XbmGB6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--HsZ6OlVG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://files.peakd.com/file/peakd-hive/currentxchange/23tbRG9EY7pFcExkXHrAnqt2w9ecYE3THD5yVUy4UafKJQqExfEFsxcnhXHQe24XbmGB6.png" alt="Screen Shot 2021-05-10 at 6.29.03 PM.png" width="800" height="458"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The NFT Data
&lt;/h2&gt;

&lt;p&gt;name: &lt;strong&gt;name&lt;/strong&gt; (Example: Bluebirds [Beat by Ours Samplus] [Scarfinger Remix])&lt;br&gt;
type: text&lt;/p&gt;

&lt;p&gt;name: &lt;strong&gt;img&lt;/strong&gt; (This is the main image, and will show first up by default)&lt;br&gt;
type: image&lt;/p&gt;

&lt;p&gt;name: &lt;strong&gt;audio&lt;/strong&gt; (Only one audio file. We may release another specification that allows multiple audios later on)&lt;br&gt;
type: ipfs&lt;/p&gt;

&lt;p&gt;name: &lt;strong&gt;video&lt;/strong&gt; (One optional video, like a music video, uploaded to IPFS. You can also skip this for youtube, but it won't show up on the NFT)&lt;br&gt;
type: ipfs&lt;/p&gt;

&lt;p&gt;name: &lt;strong&gt;backimg&lt;/strong&gt; (Supposed to be like an album back cover, but flexible to your use case )&lt;br&gt;
type: image&lt;/p&gt;

&lt;p&gt;name: &lt;strong&gt;promo&lt;/strong&gt; (Optional image which you can use to put more information about the song, a QR code, whatever you like )&lt;br&gt;
type: image&lt;/p&gt;

&lt;p&gt;name: about (Any text the user wants to add about the music)&lt;br&gt;
type: text&lt;/p&gt;

&lt;p&gt;name: &lt;strong&gt;credits&lt;/strong&gt; (Put all your credits here, not in the title. Example: ["Artist: God Sol One Love","Beat: Ours Samplus, Scarfinger"] Note: You provide the credit 'type' and 'name' We'll format this in the NFT builder on music.cXc.world)&lt;br&gt;
type: text array&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;We've put our three supported players separate from other platforms to highlight them, but you'll have to option to ignore these and just include all links in the "platforms" field later if you prefer&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;name: &lt;strong&gt;youtube&lt;/strong&gt; (Just a link)&lt;br&gt;
type: text&lt;/p&gt;

&lt;p&gt;name: &lt;strong&gt;spotify&lt;/strong&gt;&lt;br&gt;
type: text&lt;/p&gt;

&lt;p&gt;name: &lt;strong&gt;soundcloud&lt;/strong&gt;&lt;br&gt;
type: text&lt;/p&gt;

&lt;p&gt;name: &lt;strong&gt;platforms&lt;/strong&gt; (This is another text array [like credits] which we'll format from your links using our built-in NFT creator. You can put any platform's links you want, not just those supported by cXc)&lt;br&gt;
type: text array&lt;/p&gt;

&lt;p&gt;name: &lt;strong&gt;nation&lt;/strong&gt; (Example: USA. This is a ISO standard abbreviation, and putting it here means future dapps can sort your music better) &lt;br&gt;
type: text &lt;/p&gt;

&lt;p&gt;name: &lt;strong&gt;locale&lt;/strong&gt; (Example: Accident, Garrett County, Maryland. Optional, and allows other dapps to organize your music, plus shows others where you're creating from.)&lt;br&gt;
type: text&lt;/p&gt;

&lt;p&gt;name: &lt;strong&gt;geoloc&lt;/strong&gt; (Example: [75.355, 15.256] You can share the recording location info here, just if you want! It's a GeoJson point, so it can mean your NFT can be put on any map in the future) &lt;br&gt;
type: text&lt;/p&gt;

&lt;p&gt;name: license (Can be a link or symbol [CC])&lt;br&gt;
type: text&lt;/p&gt;

&lt;p&gt;name: rarity (Can be set automatically by cXc by the max, or manually set for custom values)&lt;br&gt;
type: text&lt;/p&gt;

&lt;p&gt;&lt;a href="https://i.giphy.com/media/xT5LMB2WiOdjpB7K4o/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/xT5LMB2WiOdjpB7K4o/giphy.gif" width="480" height="362"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Requesting your input
&lt;/h1&gt;

&lt;p&gt;Tell us what you would like to see in the spec that you don't already. I'm also curious what you think about putting the SoundCloud and Spotify and YouTube links separate from the other platform links. This is optional, but still shows opinionation in our standard. &lt;/p&gt;

&lt;p&gt;Chances are, you see things we don’t, so don’t hesitate to share! &lt;/p&gt;

&lt;p&gt;You may notice that we don't have a cXc link by default. That's because we are going to suggest that users put it as one of the platforms, but not force anyone to include their cXc link if they don't want to. We’re making this to help artists first, no matter how they want to represent themselves. &lt;/p&gt;

&lt;h2&gt;
  
  
  Open Standard
&lt;/h2&gt;

&lt;p&gt;Use this standard as you like and modify it to your needs. You'll find the exact data you'll need to make a matching schema on &lt;a href="https://atomichub.io" rel="noopener noreferrer"&gt;Atomichub&lt;/a&gt; in the comments. &lt;/p&gt;




&lt;h2&gt;
  
  
  💥 FIND OUT MORE ABOUT cXc 💥
&lt;/h2&gt;




&lt;p&gt;Current X Change is dedicated to harmonizing Humans, Collectives, and Gaia. Our media Mapps are just the start. As we refine Purple, we also seek to redefine what it means to come together as humans and co-create. We hope you'll enjoy the tools already here, and are infinitely stoked for what the future holds. &lt;/p&gt;

&lt;h2&gt;
  
  
  👁️ Step into our &lt;a href="https://currentxchange.com/vision" rel="noopener noreferrer"&gt;vision&lt;/a&gt;
&lt;/h2&gt;

&lt;h2&gt;
  
  
  🎥  &lt;a href="https://www.youtube.com/watch?v=7NCaG2ZPHOQ" rel="noopener noreferrer"&gt;Add Music to cXc.world&lt;/a&gt;
&lt;/h2&gt;

&lt;h2&gt;
  
  
  💸 Get to know our &lt;a href="https://github.com/currentxchange/purple-explainer" rel="noopener noreferrer"&gt;Economy&lt;/a&gt;
&lt;/h2&gt;

&lt;h2&gt;
  
  
  🛣️ &lt;a href="https://github.com/currentxchange/purple-explainer/blob/master/Roadmap.md" rel="noopener noreferrer"&gt;Roadmap&lt;/a&gt;
&lt;/h2&gt;

&lt;h2&gt;
  
  
  🔗 cXc &lt;a href="https://linktr.ee/cxc.world" rel="noopener noreferrer"&gt;Linktree&lt;/a&gt;
&lt;/h2&gt;




&lt;h3&gt;
  
  
  Trade 🟣 &lt;a href="https://wax.alcor.exchange/trade/PURPLE-purplepurple_WAX-eosio.token" rel="noopener noreferrer"&gt;PURPLE/WAX&lt;/a&gt; ~~ 🔵 &lt;a href="https://wax.alcor.exchange/trade/BLUX-bluxbluxblux_WAX-eosio.token" rel="noopener noreferrer"&gt;BLUx/WAX&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Get a quick overview of these tokens in our &lt;strong&gt;&lt;a href="https://github.com/currentxchange/purple-explainer/blob/master/Economic-Brief.md" rel="noopener noreferrer"&gt;Economic Brief&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>cXc Launches 🟣 Purple, a Co-Creative Economy on WAX Blockchain</title>
      <dc:creator>Douglas James Butner</dc:creator>
      <pubDate>Sat, 17 Apr 2021 11:45:45 +0000</pubDate>
      <link>https://dev.to/dougbutner/cxc-launches-purple-a-co-creative-economy-on-wax-blockchain-283a</link>
      <guid>https://dev.to/dougbutner/cxc-launches-purple-a-co-creative-economy-on-wax-blockchain-283a</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;Purple’s tokenomics unveil revolutionary mechanics geared towards rewarding creators for creating, and generating local Top Charts. &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Today Current X Change LLC (&lt;strong&gt;cXc&lt;/strong&gt;) released &lt;strong&gt;Purple&lt;/strong&gt;, a blockchain-based multi-token economy with a stated purpose to empower cocreation. This cocreation system works by providing each participant with up to 288 tokens, called &lt;strong&gt;SOL&lt;/strong&gt;, per day for free. Participants then use 1 &lt;strong&gt;SOL&lt;/strong&gt; to “&lt;strong&gt;Up&lt;/strong&gt;” (short for upvote) content which other creators have posted to cXc.world, cXc’s map-based dapp (decentralized application).&lt;/p&gt;

&lt;p&gt;After receiving an Up on their content, the creator is rewarded with another token, one &lt;strong&gt;&lt;a href="https://wax.alcor.exchange/trade/blux-bluxbluxblux_wax-eosio.token" rel="noopener noreferrer"&gt;BLUX&lt;/a&gt;&lt;/strong&gt;. One &lt;strong&gt;BLUX&lt;/strong&gt; can be spent to give an &lt;strong&gt;Up&lt;/strong&gt; like one &lt;strong&gt;SOL&lt;/strong&gt;, helping content get exposure by appearing larger on cXc.world, and also showing up on the Top charts. Top charts contain the final piece of the economy, &lt;strong&gt;&lt;a href="https://wax.alcor.exchange/trade/purple-purplepurple_wax-eosio.token" rel="noopener noreferrer"&gt;PURPLE&lt;/a&gt;&lt;/strong&gt;, which is rewarded daily to creators who make it into the Top 64 by getting the most Ups. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fikui8xscemxcakb5htl2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fikui8xscemxcakb5htl2.png" alt="Top 64 Blockchain Music Charts with PURPLE Rewards"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;While supplies of &lt;strong&gt;BLUX&lt;/strong&gt; and &lt;strong&gt;SOL&lt;/strong&gt; are both inflating each day, and deflating as they are spent on &lt;strong&gt;Ups&lt;/strong&gt;, &lt;strong&gt;PURPLE&lt;/strong&gt; has a Max Supply of &lt;strong&gt;35,831,808 tokens&lt;/strong&gt;, 1/3 of which are reserved in a Creators Fund that is used to reward the Top 64 Creators for years to come. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;PURPLE&lt;/strong&gt;’s functionality lies in it’s ability to be staked for the owner’s choice of one daily &lt;strong&gt;Up&lt;/strong&gt; on any piece of content or one BLUX token paid daily to their account. One staked &lt;strong&gt;PURPLE&lt;/strong&gt; activates &lt;strong&gt;1 Up or BLUX per day&lt;/strong&gt;, but if you stake multiple &lt;strong&gt;PURPLE&lt;/strong&gt;, you can get a much better rate, up to 6.75 Ups or BLUX per day for each &lt;strong&gt;PURPLE&lt;/strong&gt; at 64 Purple staked. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Daily Ups are valuable&lt;/strong&gt; because cXc.world only shows content that has received Ups that day, though viewers can also choose to see monthly trends, or any other time span in the “time machine”. Local charts are generated by the dapp for every Nation in the world, and in the United States for every State, County, and City. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz2vj1h1nzlti5sn2c5gk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz2vj1h1nzlti5sn2c5gk.png" alt="cXc.world Geotemporal music Charts in France"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Starting next release (Beta), Purple will work on cXc’s flagship application, cXc Music. In the future, cXc will release other media mapping applications like cXc Scribe, cXc Art, cXc Video, and more. &lt;/p&gt;

&lt;h2&gt;
  
  
  Purple’s designer Douglas Butner had this to say
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;“What’s even more exciting than launching Purple is to know that this is just the beginning. As a musician, I’m stoked to launch Purple on cXc Music because I’ve seen great music go unnoticed my whole life, including from my good friends. Looking forward and imagining this system not only helping musicians, but all kinds of creators goes beyond my wildest imagination.“&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;PURPLE&lt;/strong&gt; token is now available for purchase on &lt;strong&gt;&lt;a href="https://wax.alcor.exchange/trade/purple-purplepurple_wax-eosio.token" rel="noopener noreferrer"&gt;Alcor Exchange&lt;/a&gt;&lt;/strong&gt; at the starting price of 20 WAX / PURPLE, though only 3,190 PURPLE will be listed at this price. A maximum of 1/12 max supply of &lt;strong&gt;PURPLE&lt;/strong&gt; will ever be offered, always in small batches that go up in price each listing. The other tradable token, &lt;strong&gt;BLUX&lt;/strong&gt;, will never be sold directly by cXc; it can only be earned on cXc.world and through staking PURPLE. &lt;strong&gt;&lt;a href="https://wax.alcor.exchange/trade/blux-bluxbluxblux_wax-eosio.token" rel="noopener noreferrer"&gt;BLUX&lt;/a&gt;&lt;/strong&gt; and &lt;strong&gt;&lt;a href="https://wax.alcor.exchange/trade/purple-purplepurple_wax-eosio.token" rel="noopener noreferrer"&gt;PURPLE&lt;/a&gt;&lt;/strong&gt; are both available to trade and swap in DeFi pools on Alcor Exchange. &lt;/p&gt;

&lt;p&gt;More information about the Purple economy can be found in the &lt;a href="https://github.com/currentxchange/purple-explainer" rel="noopener noreferrer"&gt;Purple Explainer&lt;/a&gt;. &lt;/p&gt;




&lt;h2&gt;
  
  
  💥 FIND OUT MORE ABOUT cXc 💥
&lt;/h2&gt;




&lt;p&gt;Current X Change is dedicated to harmonizing Humans, Collectives, and Gaia. Our media Mapps are just the start. As we refine Purple, we also seek to redefine what it means to come together as humans and co-create. We hope you'll enjoy the tools already here, and are infinitely stoked for what the future holds. &lt;/p&gt;

&lt;h2&gt;
  
  
  👁️ Step into our &lt;a href="https://currentxchange.com/vision" rel="noopener noreferrer"&gt;vision&lt;/a&gt;
&lt;/h2&gt;

&lt;h2&gt;
  
  
  🎥  &lt;a href="https://www.youtube.com/watch?v=7NCaG2ZPHOQ" rel="noopener noreferrer"&gt;Add Music to cXc.world&lt;/a&gt;
&lt;/h2&gt;

&lt;h2&gt;
  
  
  💸 Get to know our &lt;a href="https://github.com/currentxchange/purple-explainer" rel="noopener noreferrer"&gt;Economy&lt;/a&gt;
&lt;/h2&gt;

&lt;h2&gt;
  
  
  🛣️ &lt;a href="https://github.com/currentxchange/purple-explainer/blob/master/Roadmap.md" rel="noopener noreferrer"&gt;Roadmap&lt;/a&gt;
&lt;/h2&gt;




&lt;h3&gt;
  
  
  Trade 🟣 &lt;a href="https://wax.alcor.exchange/trade/PURPLE-purplepurple_WAX-eosio.token" rel="noopener noreferrer"&gt;PURPLE/WAX&lt;/a&gt; ~~ 🔵 &lt;a href="https://wax.alcor.exchange/trade/BLUX-bluxbluxblux_WAX-eosio.token" rel="noopener noreferrer"&gt;BLUx/WAX&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Get a quick overview of these tokens in our &lt;strong&gt;&lt;a href="https://github.com/currentxchange/purple-explainer/blob/master/Economic-Brief.md" rel="noopener noreferrer"&gt;Economic Brief&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>blockchain</category>
      <category>wax</category>
      <category>purple</category>
      <category>dapp</category>
    </item>
    <item>
      <title>(cXc)'s Creator Rewards Token 🎸 Info on 🟣 $PURPLE ~ April 17, 2021 Noon GMT 📅</title>
      <dc:creator>Douglas James Butner</dc:creator>
      <pubDate>Sat, 17 Apr 2021 02:46:28 +0000</pubDate>
      <link>https://dev.to/dougbutner/cxc-s-creator-rewards-token-info-on-purple-april-17-2021-noon-gmt-2iim</link>
      <guid>https://dev.to/dougbutner/cxc-s-creator-rewards-token-info-on-purple-april-17-2021-noon-gmt-2iim</guid>
      <description>&lt;p&gt;$PURPLE's unique tokenomic model rewards creators daily for co-creating on cXc.world (receiving Ups), whilst directing traffic to streams on paying services.  &lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/currentxchange/purple-explainer/blob/master/Purple.md" rel="noopener noreferrer"&gt;Learn more about PURPLE&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5cq98p1mfi3h4roehy2t.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5cq98p1mfi3h4roehy2t.png" alt="Alt Text" width="800" height="451"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;PURPLE's initial release starts &lt;strong&gt;April 17, 2021&lt;/strong&gt; on &lt;a href="https://wax.alcor.exchange/trade/purple-purplepurple_wax-eosio.token" rel="noopener noreferrer"&gt;Alcor&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Because of the very limited supply of PURPLE, ascending pricing + time-limited sell orders will be used to ensure that everyone has a chance to acquire the PURPLE they need to benefit fully from cXc.world. There are no per-account limits on purchases.  &lt;/p&gt;

&lt;h1&gt;
  
  
  PURPLE Utility: Digital Advertising Gold
&lt;/h1&gt;

&lt;blockquote&gt;
&lt;p&gt;What can you do with PURPLE?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;PURPLE&lt;/strong&gt; can be staked for daily Blu Ups (or &lt;a href="https://wax.alcor.exchange/trade/blux-bluxbluxblux_wax-eosio.token" rel="noopener noreferrer"&gt;BLUX&lt;/a&gt;) to a piece of content; a rare form of digital advertising purchase that allows someone to buy once and hold &lt;strong&gt;continual attention&lt;/strong&gt; for all of time. This attention means huge value, particularly to independent creators and creative organizations such as independent labels and artist collectives.&lt;/p&gt;

&lt;p&gt;Furthermore, &lt;strong&gt;PURPLE&lt;/strong&gt; need only be &lt;a href="https://github.com/currentxchange/purple-explainer/blob/master/Everstones.md" rel="noopener noreferrer"&gt;unstaked&lt;/a&gt; for the holder to receive back the same amount of tokens. This means an artist can advertise their art and meanwhile hold something of increasing utility as each future cXc.world mapp is released, and future uses of PURPLE are announced.  &lt;/p&gt;

&lt;h2&gt;
  
  
  Today Musicians, Tomorrow All Creators
&lt;/h2&gt;

&lt;p&gt;PURPLE has a unique utility for musicians, as &lt;strong&gt;cXc Music&lt;/strong&gt; is the first &lt;a href="https://cxc.world" rel="noopener noreferrer"&gt;&lt;strong&gt;cXc.world&lt;/strong&gt;&lt;/a&gt; mapp, but this utility will expand to all creators and creative collectives when &lt;strong&gt;cXc Video&lt;/strong&gt;, &lt;strong&gt;cXc Photo&lt;/strong&gt;, &lt;strong&gt;cXc Scribe&lt;/strong&gt;, &lt;strong&gt;cXc Art&lt;/strong&gt; + more mapps are available.  &lt;/p&gt;

&lt;h1&gt;
  
  
  Initial Sell Orders
&lt;/h1&gt;

&lt;p&gt;Starting 4/17/2021, 1/12th of the 1/12 Max Supply designated for sale will be listed with pricing starting at &lt;strong&gt;20 WAX&lt;/strong&gt; per PURPLE. &lt;/p&gt;

&lt;p&gt;These sell orders will be offered one at a time, with a one week gap between each listing starting after the previous listing's completion. &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Tokens for Sale: 1/12 Max Supply or 12&lt;sup&gt;6&lt;/sup&gt; (2,985,984), issued + offered 12&lt;sup&gt;5&lt;/sup&gt; (248,832) at a time. Here's how we'll price the April 17th tokens.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Price&lt;/th&gt;
&lt;th&gt;🟣 PURPLE Available&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;20 WAX&lt;/td&gt;
&lt;td&gt;3,190    (April 17, Noon GMT)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;21 WAX&lt;/td&gt;
&lt;td&gt;6,380   (TBD)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;22 WAX&lt;/td&gt;
&lt;td&gt;9,570&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;23 WAX&lt;/td&gt;
&lt;td&gt;12,760&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;24 WAX&lt;/td&gt;
&lt;td&gt;15,950&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;25 WAX&lt;/td&gt;
&lt;td&gt;19,140&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;26 WAX&lt;/td&gt;
&lt;td&gt;22,330&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;27 WAX&lt;/td&gt;
&lt;td&gt;25,520&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;28 WAX&lt;/td&gt;
&lt;td&gt;28,710&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;29 WAX&lt;/td&gt;
&lt;td&gt;31,900&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;33 WAX&lt;/td&gt;
&lt;td&gt;35,090&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;36 WAX&lt;/td&gt;
&lt;td&gt;38,280&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h1&gt;
  
  
  Liquidity Promise
&lt;/h1&gt;

&lt;p&gt;Of the first &lt;strong&gt;1,000,000 WAX&lt;/strong&gt; raised by the direct listing of PURPLE, no less than &lt;strong&gt;500,000 WAX&lt;/strong&gt; will serve as liquidity on Alcor exchange and DeFi swap.&lt;/p&gt;

&lt;h1&gt;
  
  
  Proceeds
&lt;/h1&gt;

&lt;p&gt;WAX earned will be used to pay for all end-user transactions on cXc.world, and also purchase RAM for our records and accounts who interact with our tokens, mapps, and NFTs.  &lt;/p&gt;

&lt;p&gt;Remaining Proceeds from the listing will go towards development of cXc.world, including the final 1.0.0 release of cXc Music, native mobile apps, and the creation of other cXc.world &lt;a href="https://docs.google.com/document/d/1YppJ2EYumRI2j0UHYdZh7NJMObMI_NfHgaFRLbjgBtw/preview" rel="noopener noreferrer"&gt;mapps&lt;/a&gt; like cXc Video, cXc Art, cXc Ideas, cXc Pueblo and more. Funds will also pay for all other cXc operational costs, employees, promotion, events, etc. cXc will publish a running list of expenses with corresponding transactions on Github.&lt;/p&gt;

&lt;p&gt;cXc spending transactions are inherently transparent and can be tracked here: &lt;a href="https://wax.bloks.io/account/dplug4purple" rel="noopener noreferrer"&gt;dplug4purple&lt;/a&gt; and here &lt;a href="https://wax.bloks.io/account/currentxchng" rel="noopener noreferrer"&gt;currentxchng&lt;/a&gt;.&lt;/p&gt;

&lt;h1&gt;
  
  
  Requirements &amp;amp; Restrictions
&lt;/h1&gt;

&lt;p&gt;Participating in the direct listing requires that you adhere and agree to the requirements, restrictions, terms and conditions laid out in &lt;a href="https://github.com/currentxchange/purple-explainer/blob/master/Legal/Disclaimer.md" rel="noopener noreferrer"&gt;disclaimer.md&lt;/a&gt; and &lt;a href="https://github.com/currentxchange/purple-explainer/blob/master/Legal/Legal-Agreement.md" rel="noopener noreferrer"&gt;legal-agreement.md&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  💥 FIND OUT MORE ABOUT &lt;a href="https://cXc.world" rel="noopener noreferrer"&gt;cXc&lt;/a&gt; 💥
&lt;/h2&gt;




&lt;p&gt;Current X Change is dedicated to harmonizing Humans, Collectives, and Gaia. Our media Mapps are just the start. As we refine Purple, we also seek to redefine what it means to come together as humans and co-create. We hope you'll enjoy the tools already here, and are infinitely stoked for what the future holds. &lt;/p&gt;

&lt;h2&gt;
  
  
  🗺️ Experience &lt;a href="https://currentxchange.com/vision" rel="noopener noreferrer"&gt;cXc.world 🌎&lt;/a&gt;
&lt;/h2&gt;

&lt;h2&gt;
  
  
  👁️ Step into our &lt;a href="https://currentxchange.com/vision" rel="noopener noreferrer"&gt;vision&lt;/a&gt;
&lt;/h2&gt;

&lt;h2&gt;
  
  
  🎥  &lt;a href="https://www.youtube.com/watch?v=7NCaG2ZPHOQ" rel="noopener noreferrer"&gt;Add Music to cXc.world&lt;/a&gt;
&lt;/h2&gt;

&lt;h2&gt;
  
  
  💸 Get to know our &lt;a href="https://github.com/currentxchange/purple-explainer" rel="noopener noreferrer"&gt;Economy&lt;/a&gt;
&lt;/h2&gt;




&lt;h1&gt;
  
  
  Follow cXc on Social Media 📱🌎
&lt;/h1&gt;




&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="//instagram.com/cxc.world"&gt;🖼️ Instagram&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="//twitter.com/currentxchange"&gt;🐦 Twitter&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="//youtube.com/channel/UCBjTUosp2R_FN6AFdHV-v-Q"&gt;📺 YouTube&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="//peakd.com/@currentxchange"&gt;🐝 Hive&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="https://peakd.com/c/hive-179421" rel="noopener noreferrer"&gt;🏘️ Hive Community&lt;/a&gt;&lt;/strong&gt; &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="https://discord.gg/4fhWgZ5R5s" rel="noopener noreferrer"&gt;🔑 Discord Musician Community&lt;/a&gt;&lt;/strong&gt; (Collab channels + more) &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.reddit.com/r/cXcMusic" rel="noopener noreferrer"&gt;🔺 Reddit&lt;/a&gt; &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://t.me/joinchat/RcfWf3iGr-XEl08B" rel="noopener noreferrer"&gt;✈️ Telegram&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://medium.com/wavvys" rel="noopener noreferrer"&gt;🌊 Wavvy Music Accolades&lt;/a&gt; (NFT Music Awards)&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  (cXc) &lt;a href="https://github.com/currentxchange/purple-explainer/blob/master/Roadmap.md" rel="noopener noreferrer"&gt;Roadmap 🛣️ &lt;/a&gt;
&lt;/h2&gt;

</description>
      <category>tokenomics</category>
      <category>release</category>
      <category>purple</category>
      <category>alcor</category>
    </item>
    <item>
      <title>Top 64 Charts on cXc.world 🟣 PURPLE Rewards Daily 🌞 for Top Youtube Music 🧞🎸</title>
      <dc:creator>Douglas James Butner</dc:creator>
      <pubDate>Thu, 15 Apr 2021 16:01:13 +0000</pubDate>
      <link>https://dev.to/dougbutner/top-64-charts-on-cxc-world-purple-rewards-daily-for-top-youtube-music-24eg</link>
      <guid>https://dev.to/dougbutner/top-64-charts-on-cxc-world-purple-rewards-daily-for-top-youtube-music-24eg</guid>
      <description>&lt;p&gt;One 🟣 &lt;a href="https://wax.alcor.exchange/trade/purple-purplepurple_wax-eosio.token" rel="noopener noreferrer"&gt;PURPLE&lt;/a&gt; is rewarded every 5 minutes to Top 64 Charts in each cXc Music Dapp, starting with &lt;a href="https://music.cXc.world" rel="noopener noreferrer"&gt;cXc Music&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This 1 🟣 PURPLE / Time Unit reward will be given out daily as 288 🟣 PURPLE divided linearly among the Top 64 tracks ranked by Sol Ups. When we release the next cXc Mapps, the reward will be 288 🟣 PURPLE each. &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;288 SOL per person and 288 PURPLE for Top Charts of cXc.world mapps daily. These are the gears of the Purple Economy. &lt;/p&gt;
&lt;/blockquote&gt;

&lt;h1&gt;
  
  
  Youtube Music + Purple Rewards
&lt;/h1&gt;

&lt;p&gt;Artist rewards go to the owner of the Youtube channel which uploaded the song embedded in a cXc.world post. Through linking a WAX account to the channel that uploaded the video, we can pay the rightful account PURPLE, and even split payments up to 12 ways. If a Youtube video's owner is not on cXc.world, pending reward is reserved and will be claimable upon linking the Youtube account. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--PSyQYYjY--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://files.peakd.com/file/peakd-hive/currentxchange/EnynyGFY7i1R4dCg3d4y8cy6ffpmvJsgrXFxJAbqpb2kfKsWFKf7fA4v8Q4u948mhjJ.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--PSyQYYjY--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://files.peakd.com/file/peakd-hive/currentxchange/EnynyGFY7i1R4dCg3d4y8cy6ffpmvJsgrXFxJAbqpb2kfKsWFKf7fA4v8Q4u948mhjJ.png" alt="Charts-In-cXc-Music-cXc.world-beta-wide2.png" width="800" height="570"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Top Charts 🌎
&lt;/h1&gt;

&lt;blockquote&gt;
&lt;p&gt;Top Charts show up tailored to every search you do on cXc.world. &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The Top Charts shown on cXc.world rank the top music by adding up &lt;code&gt;Blu Ups + Sol Ups&lt;/code&gt; for any time period a viewer wishes.  &lt;/p&gt;

&lt;p&gt;Default Ranking on cXc.world = &lt;code&gt;Total Blu Ups + Sol Ups&lt;/code&gt; &lt;/p&gt;

&lt;p&gt;In addition to the default ranking, users on cXc.world can choose to see Top Charts by the following:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Only Sol Ups  &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Only Blu Ups  &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Only Big Ups Ups   &lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s---2jcxoEf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://files.peakd.com/file/peakd-hive/currentxchange/23t7YD4cedFDc2XtbxkCjQm9pFNrKL1EPd5U1S4GcHu2pFdPX9rQ77FrVg3V5yCcwgQTn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s---2jcxoEf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://files.peakd.com/file/peakd-hive/currentxchange/23t7YD4cedFDc2XtbxkCjQm9pFNrKL1EPd5U1S4GcHu2pFdPX9rQ77FrVg3V5yCcwgQTn.png" alt="Sol-Up-Big-Up-Blu-Up.png" width="592" height="375"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  PURPLE Rewards + Top 64 Charts 🌎🟣
&lt;/h1&gt;

&lt;p&gt;&lt;code&gt;Total Blu Ups + Sol Ups&lt;/code&gt; ranking is used when we send out emails and updates about current music trends. It's the default for everything &lt;em&gt;except&lt;/em&gt; PURPLE rewards. &lt;/p&gt;

&lt;p&gt;The Top 64 Charts used to reward creators in PURPLE use &lt;code&gt;Only Sol Ups&lt;/code&gt; to determine who gets rewarded. &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Linear rewards are used where #1 gets 64 times what #64 gets 1.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Using &lt;code&gt;Only Sol Ups&lt;/code&gt; gives PURPLE rewards a more democratic nature, as no one can buy SOL (unlike BLUX). &lt;/p&gt;

&lt;p&gt;Also, because cXc executes the Sol Up actions on-chain (unlike BLUX) we can have a say in preventing fake accounts, etc from trying to game the system. &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Note: This algorithm is subject to change. We plan to incorporate rewards for local charts as well as global charts after cXc.world is more popular. That's going to change things, but the linear rewards will always remain. &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--JmZJd_vA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://files.peakd.com/file/peakd-hive/currentxchange/23tkp4ikMZeVLsXJsGixgvo28AzJQYiJJrpDsahGzCvKxREAMNya18iytRdpkWHxir4bn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--JmZJd_vA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://files.peakd.com/file/peakd-hive/currentxchange/23tkp4ikMZeVLsXJsGixgvo28AzJQYiJJrpDsahGzCvKxREAMNya18iytRdpkWHxir4bn.png" alt="Geo-France.png" width="800" height="190"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  What if a charting creator doesn't have an account on cXc.world?
&lt;/h1&gt;

&lt;p&gt;We'll keep a record on how much each account is owed using the Youtube video's account information. Later, when they create an account, they will be able to claim all the PURPLE owed to them automatically by connecting the youtube account to their WAX account, used as cXc.world login. &lt;/p&gt;

&lt;h1&gt;
  
  
  🔵 BLUX Value Beyond Charts
&lt;/h1&gt;

&lt;p&gt;🔵 &lt;a href="https://wax.alcor.exchange/trade/blux-bluxbluxblux_wax-eosio.token" rel="noopener noreferrer"&gt;BLUX&lt;/a&gt; gives you the same exposure for people looking at the map. With this boost in exposure, good music should attract more Sol Ups, which in turn earns more 🔵 BLUX. So good music has a good ROI using 🔵 BLUX, subjectively bad music = bad ROI. &lt;/p&gt;

&lt;p&gt;All the while, the Sol Ups that a creator attracted will have the potential to earn them 🟣 PURPLE &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;An artist could buy 🔵 BLUX, spend it to Blu Up their latest song, which could attract organic Sol Ups, giving them more BLUX. 🔵 BLUX can be sold or spent for more Blu Ups, so the artist can get back the money they spent, or more. If the Sol Ups were enough that they made the Top 64 Global Charts for the day, they'll earn 🟣 PURPLE too. &lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  💥 FIND OUT MORE ABOUT &lt;a href="https://cXc.world" rel="noopener noreferrer"&gt;cXc&lt;/a&gt; 💥
&lt;/h2&gt;




&lt;p&gt;Current X Change is dedicated to harmonizing Humans, Collectives, and Gaia. Our media Mapps are just the start. As we refine Purple, we also seek to redefine what it means to come together as humans and co-create. We hope you'll enjoy the tools already here, and are infinitely stoked for what the future holds. &lt;/p&gt;

&lt;h2&gt;
  
  
  🗺️ Experience &lt;a href="https://currentxchange.com/vision" rel="noopener noreferrer"&gt;cXc.world 🌎&lt;/a&gt;
&lt;/h2&gt;

&lt;h2&gt;
  
  
  👁️ Step into our &lt;a href="https://currentxchange.com/vision" rel="noopener noreferrer"&gt;vision&lt;/a&gt;
&lt;/h2&gt;

&lt;h2&gt;
  
  
  🎥  &lt;a href="https://www.youtube.com/watch?v=7NCaG2ZPHOQ" rel="noopener noreferrer"&gt;Add Music to cXc.world&lt;/a&gt;
&lt;/h2&gt;

&lt;h2&gt;
  
  
  💸 Get to know our &lt;a href="https://github.com/currentxchange/purple-explainer" rel="noopener noreferrer"&gt;Economy&lt;/a&gt;
&lt;/h2&gt;




&lt;h1&gt;
  
  
  🎁 OFFICIAL cXc MERCH 🛍️
&lt;/h1&gt;




&lt;p&gt;👕 Shop cXc &lt;a href="https://artofwhere.com/artists/cxc-world-merch" rel="noopener noreferrer"&gt;High-fashion&lt;/a&gt; (Made in 🇨🇦)&lt;/p&gt;

&lt;p&gt;🔴 cXc Stickers, shirts + More on &lt;a href="https://www.redbubble.com/people/currentxchange/shop?artistUserName=CurrentXChange&amp;amp;iaCode=all-stickers" rel="noopener noreferrer"&gt;Redbubble&lt;/a&gt;&lt;/p&gt;




&lt;h1&gt;
  
  
  Follow cXc on Social Media 📱🌎
&lt;/h1&gt;




&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="//instagram.com/cxc.world"&gt;🖼️ Instagram&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="//twitter.com/currentxchange"&gt;🐦 Twitter&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="//youtube.com/channel/UCBjTUosp2R_FN6AFdHV-v-Q"&gt;📺 YouTube&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="https://discord.gg/4fhWgZ5R5s" rel="noopener noreferrer"&gt;🔑 Discord Musician Community&lt;/a&gt;&lt;/strong&gt; (Collab channels + more) &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="//peakd.com/@currentxchange"&gt;🐝 Hive&lt;/a&gt; + &lt;a href="https://peakd.com/c/hive-179421" rel="noopener noreferrer"&gt;🏘️ Hive Community&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.reddit.com/r/cXcMusic" rel="noopener noreferrer"&gt;🔺 Reddit&lt;/a&gt; &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://t.me/joinchat/RcfWf3iGr-XEl08B" rel="noopener noreferrer"&gt;✈️ Telegram&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="https://medium.com/wavvys" rel="noopener noreferrer"&gt;🌊 Wavvy Music Accolades&lt;/a&gt;&lt;/strong&gt; (NFT Music Awards)&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  💰🤑 Swaps (Instant Liquidity) 🟡🟣 &lt;a href="https://wax.alcor.exchange/swap?output=PURPLE-purplepurple&amp;amp;input=WAX-eosio.token" rel="noopener noreferrer"&gt;WAX/PURPLE&lt;/a&gt; ~~ 🟡🔵 &lt;a href="https://wax.alcor.exchange/swap?output=BLUX-bluxbluxblux&amp;amp;input=WAX-eosio.token" rel="noopener noreferrer"&gt;WAX/BLUx&lt;/a&gt;
&lt;/h2&gt;




&lt;h2&gt;
  
  
  📈 Trade 🟣 &lt;a href="https://wax.alcor.exchange/trade/PURPLE-purplepurple_WAX-eosio.token" rel="noopener noreferrer"&gt;PURPLE/WAX&lt;/a&gt; ~~ 🔵 &lt;a href="https://wax.alcor.exchange/trade/BLUX-bluxbluxblux_WAX-eosio.token" rel="noopener noreferrer"&gt;BLUx/WAX&lt;/a&gt; ~~ 🟣🔵 &lt;a href="https://wax.alcor.exchange/trade/BLUX-bluxbluxblux_WAX-eosio.token" rel="noopener noreferrer"&gt;PURPLE/BLUx&lt;/a&gt;
&lt;/h2&gt;




&lt;p&gt;Looking for deets? Dive into our &lt;a href="https://github.com/currentxchange/purple-explainer" rel="noopener noreferrer"&gt;Purple Explainer&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  🛣️ &lt;a href="https://github.com/currentxchange/purple-explainer/blob/master/Roadmap.md" rel="noopener noreferrer"&gt;Roadmap&lt;/a&gt; 🚙
&lt;/h2&gt;

</description>
      <category>purple</category>
      <category>tokenomics</category>
      <category>blux</category>
      <category>wax</category>
    </item>
    <item>
      <title>Blockchain music service cXc Music debuts “Gold Version” of Music Mapp, Teases Beta Release on WAX Blockchain</title>
      <dc:creator>Douglas James Butner</dc:creator>
      <pubDate>Wed, 28 Oct 2020 21:26:19 +0000</pubDate>
      <link>https://dev.to/dougbutner/blockchain-music-service-cxc-music-debuts-gold-version-of-music-mapp-teases-beta-release-on-wax-blockchain-4dck</link>
      <guid>https://dev.to/dougbutner/blockchain-music-service-cxc-music-debuts-gold-version-of-music-mapp-teases-beta-release-on-wax-blockchain-4dck</guid>
      <description>&lt;h3&gt;
  
  
  One Hive Dapp already turning heads gets a fresh, gilded makeover, and teases fans with what’s to come.
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--vubMJegX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn-images-1.medium.com/max/2378/1%2AJXV2IeQy6V9-66j-q_KU6Q.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--vubMJegX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn-images-1.medium.com/max/2378/1%2AJXV2IeQy6V9-66j-q_KU6Q.png" width="800" height="540"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Today, Current X Change LLC released a new version of their flagship web app, &lt;strong&gt;cXc Music Gold Version (&lt;a href="https://cxc.world" rel="noopener noreferrer"&gt;cxc.world&lt;/a&gt;)&lt;/strong&gt;. This release features an improved interface, with brand new map theme and updated dot styles. Gold Version is the final minor version of Alpha before cXc Music will move to the highly-anticipated &lt;strong&gt;Beta&lt;/strong&gt; release, which will include advanced &lt;strong&gt;geotemporal music charts&lt;/strong&gt; and an economic system built on the &lt;strong&gt;&lt;a href="https://wax.io/" rel="noopener noreferrer"&gt;WAX blockchain&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;cXc Music is a colorful mapp (map app) of music that any artist can use as a free platform to get their music heard. Gold Version features three new map styles:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Gold Version&lt;/strong&gt;, which will be the default until Beta is released,&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Pumpkin&lt;/strong&gt;, a limited-time seasonal style, and&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Pachamama&lt;/strong&gt;. In addition, the dots have been improved at the wider zoom levels, offering a better view of the spectrum of music around the world.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Wwu7UaKk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn-images-1.medium.com/max/2058/1%2ATUSQnLqw-34vUIuL_rm4rA.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Wwu7UaKk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn-images-1.medium.com/max/2058/1%2ATUSQnLqw-34vUIuL_rm4rA.png" alt="Pachamama Style" width="800" height="584"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;When an artist adds their music, by simply double-clicking the location recorded, it shows up as a small dot. As listeners upvote the music, &lt;strong&gt;it becomes bigger&lt;/strong&gt;, increasing the chances a visitor will find it.&lt;/p&gt;

&lt;p&gt;Already, the mapp is home to over a thousand pieces of unique music from around the world, which are color-coded by Genre. A quick look at cxc.world shows that the majority of music has been posted to United States and Europe, and the most popular genres are Hip Hop and Electronic.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to Apply a new Map Style
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--BySK9ePk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn-images-1.medium.com/max/2000/1%2ADmqHmYtnlAGOIGBx_mgQng.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--BySK9ePk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn-images-1.medium.com/max/2000/1%2ADmqHmYtnlAGOIGBx_mgQng.png" width="451" height="237"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Go to cxc.world 📱 + 💻&lt;/p&gt;

&lt;p&gt;Click 🗺️ Style -&amp;gt; 🗺️ Background&lt;/p&gt;

&lt;p&gt;CHOOSE&lt;/p&gt;

&lt;p&gt;🟨 Gold Version 🟨 ⬛ &lt;/p&gt;

&lt;p&gt;🎃 Pumpkin 🟧 🟪&lt;/p&gt;

&lt;p&gt;🌍 Pachamama 🟦 🟩&lt;/p&gt;

&lt;h2&gt;
  
  
  cXc Music’s creator Douglas Butner had this to say about the release.
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;h1&gt;
  
  
  “Gold Version symbolizes the first ray of light shining as we open the door to the future. Minor release is mostly cosmetic, but it signals that we are just one step away from Beta, where the real magic starts.”
&lt;/h1&gt;
&lt;/blockquote&gt;

&lt;p&gt;That magic is the world’s first curation system based on time-backed currency, a concept that Douglas believes will cause a massive redistribution of attention and information flow.&lt;/p&gt;

&lt;blockquote&gt;
&lt;h1&gt;
  
  
  “Time-backed currency, given freely to each individual can be applied to re-shape how information flows and where attention goes. I believe this idea can change everything from media to society itself, and music is a wonderful place to start.”
&lt;/h1&gt;
&lt;/blockquote&gt;

&lt;p&gt;Experience Gold Version at &lt;strong&gt;&lt;a href="https://cxc.world" rel="noopener noreferrer"&gt;cxc.world&lt;/a&gt; on mobile or desktop&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Press Info
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Release Date&lt;/strong&gt;&lt;br&gt;
28 October 2020&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Company Info&lt;/strong&gt;&lt;br&gt;
Current X Change LLC (cXc) is a software company based in Maryland, USA. For more info about cXc, visit &lt;a href="https://currentxchange.com/" rel="noopener noreferrer"&gt;currentxchange.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Contact Info&lt;/strong&gt;&lt;br&gt;
Douglas Butner&lt;br&gt;
&lt;a href="mailto:douglas@cxc.world"&gt;douglas@cxc.world&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
