710 lines
70 KiB
HTML
710 lines
70 KiB
HTML
<!DOCTYPE html><html data-wf-page="669ac798eea89addcd56e444" data-wf-site="669696d6af77a83985da8ffd" lang="en" data-wf-collection="669ac798eea89addcd56e416" data-wf-item-slug="99-problems-but-nfts-aint-one"><head><meta charset="utf-8"/><title>99 Problems But NFTs Ain’t One | Laconic Network</title><meta content="Laconic Network Blog" name="description"/><meta content="99 Problems But NFTs Ain’t One | Laconic Network" property="og:title"/><meta content="Laconic Network Blog" property="og:description"/><meta content="../images/99-problems-but-nfts-aint-one.png" property="og:image"/><meta content="99 Problems But NFTs Ain’t One | Laconic Network" property="twitter:title"/><meta content="Laconic Network Blog" property="twitter:description"/><meta content="../images/99-problems-but-nfts-aint-one.png" property="twitter:image"/><meta property="og:type" content="website"/><meta content="summary_large_image" name="twitter:card"/><meta content="width=device-width, initial-scale=1" name="viewport"/><meta content="Webflow" name="generator"/><link href="../css/laconic-staging.webflow.ac960b332.min.css" rel="stylesheet" type="text/css"/><script type="text/javascript">!function(o,c){var n=c.documentElement,t=" w-mod-";n.className+=t+"js",("ontouchstart"in o||o.DocumentTouch&&c instanceof DocumentTouch)&&(n.className+=t+"touch")}(window,document);</script><link href="../images/favicon.png" rel="shortcut icon" type="image/x-icon"/><link href="../images/app-icon.png" rel="apple-touch-icon"/><script>
|
||
(function() {
|
||
const storedTheme = localStorage.getItem('theme');
|
||
const root = document.documentElement;
|
||
if (storedTheme) {
|
||
root.setAttribute('data-theme', storedTheme);
|
||
} else {
|
||
root.setAttribute('data-theme', 'dark');
|
||
}
|
||
})();
|
||
</script></head><body><div aria-hidden="true" class="page-wrapper"><div class="global-styles w-embed"><style>
|
||
|
||
:root {
|
||
color-scheme: dark;
|
||
--duration-normal: 0.525s;
|
||
--duration-fast: 0.262s;
|
||
--ease: cubic-bezier(0.165, 0.84, 0.44, 1);
|
||
--ease-button: cubic-bezier(0.3, 1, 0.8, 1);
|
||
--normal-transition: var(--duration-fast) var(--ease);
|
||
--main-padding-top: max(13px, 0.6770833333vw);
|
||
--main-padding-side: max(16px, 2.96875vw);
|
||
--header-height: max(70px, 3.6979166667vw);
|
||
--header-height-mobile: 79px;
|
||
--logo: url("path-to-dark-theme-image.jpg");
|
||
}
|
||
|
||
:root[data-theme="light"] {
|
||
color-scheme: light;
|
||
--theme--color-accent: #0000f4;
|
||
--theme--color-accent-boke: #0000f4;
|
||
--theme--color-black: #fbfbfb;
|
||
--theme--color-white: #040404;
|
||
--theme--color-grey: #565656;
|
||
--theme--color-grey-light: #8e8e8e;
|
||
--theme--color-grey-lightness: #dedede;
|
||
--logo: url("path-to-dark-theme-image.jpg");
|
||
}
|
||
|
||
::selection {
|
||
background-color: #0000f4;
|
||
color: #040404;
|
||
}
|
||
|
||
body {
|
||
transition: all var(--normal-transition);
|
||
}
|
||
|
||
|
||
/**
|
||
*** Light Mode Styles
|
||
**/
|
||
|
||
html[data-theme="light"] .button.benefits,
|
||
html[data-theme="light"] .button.primary,
|
||
html[data-theme="light"] .button.community{
|
||
color: var(--theme--color-black);
|
||
}
|
||
|
||
html[data-theme="light"] .noise-component {
|
||
opacity: 0.35;
|
||
}
|
||
|
||
html[data-theme="light"] .benefits_ball {
|
||
mix-blend-mode: darken;
|
||
background-color: var(--theme--color-black);
|
||
box-shadow: 0 4px 115px 15px #0000f4, 0 0 70px 20px var(--theme--color-black),
|
||
inset -39px -20px 100px rgba(0, 0, 244, 0.73);
|
||
}
|
||
|
||
html[data-theme="light"] .hero_gradient,
|
||
html[data-theme="light"] .section_blog-hero,
|
||
html[data-theme="light"] .section_blog-post-hero {
|
||
background-image: linear-gradient( 180deg, var(--theme--color-black) 1%, var(--theme--color-black) 65%);
|
||
}
|
||
|
||
html[data-theme="light"] ._404_background-gradient,
|
||
html[data-theme="light"] .product-hero_gradient,
|
||
html[data-theme="light"] .partner-hero_gradient {
|
||
visibility: hidden;
|
||
}
|
||
|
||
html[data-theme="light"] .footer_toggle {
|
||
justify-content: flex-end;
|
||
}
|
||
|
||
html[data-theme="light"] .network_feature-image {
|
||
-webkit-filter: invert(100%);
|
||
filter: invert(100%);
|
||
}
|
||
|
||
html[data-theme="light"] {
|
||
.network_desktop-image,
|
||
.network_mobile-image,
|
||
.community-hero_mobile-image,
|
||
.app_desktop-image,
|
||
.app_mobile-image,
|
||
.product-hero_video-container,
|
||
.partner-hero_video-container,
|
||
.partner-hero_mobile-image-container,
|
||
.opportunities_image,
|
||
.opportunities_mobile-image {
|
||
mix-blend-mode: darken;
|
||
}
|
||
}
|
||
|
||
|
||
html[data-theme="light"] .product-hero_mobile-image-container {
|
||
mix-blend-mode: darken;
|
||
-webkit-filter: brightness(110%);
|
||
filter: brightness(110%);
|
||
}
|
||
|
||
|
||
.product-hero_gradient,
|
||
.partner-hero_gradient {
|
||
background: linear-gradient(
|
||
180deg,
|
||
rgba(0, 0, 244, 0.9) 1.63%,
|
||
rgba(0, 0, 244, 0) 99.89%
|
||
);
|
||
}
|
||
|
||
.community-hero_gradient{
|
||
|
||
background: linear-gradient(180deg, rgba(0, 0, 244, .9) 1.63%, rgba(0, 0, 244, 0) 99.89%);
|
||
}
|
||
|
||
.events_gradient{
|
||
background: linear-gradient(180deg, hsla(0, 0%, 90%, 0), hsla(0, 0%, 100%, .39) 51%, hsla(0, 0%, 95%, 0) 89.23%);
|
||
|
||
}
|
||
|
||
.stack_gradient {
|
||
position: absolute;
|
||
right: 0;
|
||
bottom: max(300px, 30.7291666667vw);
|
||
left: 0;
|
||
opacity: 0.4;
|
||
z-index: -1;
|
||
margin-left: 0;
|
||
background: linear-gradient(
|
||
180deg,
|
||
hsla(0, 0%, 90%, 0),
|
||
hsla(0, 0%, 95%, 0.5) 48.91%,
|
||
hsla(0, 0%, 95%, 0) 89.23%
|
||
);
|
||
width: 100%;
|
||
height: max(180px, 18.2291666667vw);
|
||
content: "";
|
||
pointer-events: none;
|
||
-webkit-user-select: none;
|
||
user-select: none;
|
||
}
|
||
|
||
.partner-hero_video {
|
||
-webkit-mask-size: 250% 100%;
|
||
mask-size: 250% 100%;
|
||
-webkit-mask-position: center center;
|
||
mask-position: center center;
|
||
-webkit-mask-repeat: no-repeat;
|
||
mask-repeat: no-repeat;
|
||
-webkit-mask-image: radial-gradient(
|
||
ellipse,
|
||
#030303 40%,
|
||
rgba(3, 3, 3, 0) 85%,
|
||
rgba(3, 3, 3, 0) 100%
|
||
);
|
||
mask-image: radial-gradient(
|
||
ellipse,
|
||
#030303 40%,
|
||
rgba(3, 3, 3, 0) 85%,
|
||
rgba(3, 3, 3, 0) 100%
|
||
);
|
||
}
|
||
|
||
@keyframes noise_grain {
|
||
0% {
|
||
-webkit-transform: translate(20%, -15%);
|
||
transform: translate(20%, -15%);
|
||
}
|
||
10% {
|
||
-webkit-transform: translate(-20%, -15%);
|
||
transform: translate(-20%, -15%);
|
||
}
|
||
20% {
|
||
-webkit-transform: translate(20%, -5%);
|
||
transform: translate(20%, -5%);
|
||
}
|
||
30% {
|
||
-webkit-transform: translate(-20%, -5%);
|
||
transform: translate(-20%, -5%);
|
||
}
|
||
40% {
|
||
-webkit-transform: translate(20%, 5%);
|
||
transform: translate(20%, 5%);
|
||
}
|
||
50% {
|
||
-webkit-transform: translate(-20%, 5%);
|
||
transform: translate(-20%, 5%);
|
||
}
|
||
60% {
|
||
-webkit-transform: translate(20%, 15%);
|
||
transform: translate(20%, 15%);
|
||
}
|
||
70% {
|
||
-webkit-transform: translate(-20%, 15%);
|
||
transform: translate(-20%, 15%);
|
||
}
|
||
80% {
|
||
-webkit-transform: translate(20%, 5%);
|
||
transform: translate(20%, 5%);
|
||
}
|
||
90% {
|
||
-webkit-transform: translate(-20%, 5%);
|
||
transform: translate(-20%, 5%);
|
||
}
|
||
100% {
|
||
-webkit-transform: translate(20%, -5%);
|
||
transform: translate(20%, -5%);
|
||
}
|
||
}
|
||
|
||
.social_subheader:before{
|
||
display: block;
|
||
position: absolute;
|
||
-webkit-transform: translate(-220%, -50%);
|
||
transform: translate(-220%, -50%);
|
||
border-bottom: max(2px, .1041666667vw) solid blue;
|
||
width: max(15px, 1.25vw);
|
||
height: max(15px, .9375vw);
|
||
content: "";
|
||
}
|
||
|
||
.opportunities_block:nth-child(2n) {
|
||
grid-template-columns: auto max(50px, 15.625vw);
|
||
}
|
||
|
||
.opportunities_block:nth-child(2n) .opportunities_image {
|
||
grid-area: 1 / 2 / 2 / 3;
|
||
}
|
||
|
||
.opportunities_block:last-child {
|
||
padding-bottom: max(60px, 6.25vw);
|
||
border-bottom: max(1px, 0.0520833333vw) solid var(--theme--color-grey-light);
|
||
}
|
||
|
||
.opportunities_block:not(:first-child) {
|
||
margin-top: max(30px, 4.4791666667vw);
|
||
}
|
||
|
||
.stack_item:before {
|
||
padding-top: 0.4166666667vw;
|
||
font-size: max(10px, 0.625vw);
|
||
content: "0" counter(custom) " ";
|
||
}
|
||
|
||
.section_app div:first-child {
|
||
position: relative;
|
||
width: 67.7083333333vw;
|
||
}
|
||
|
||
.section_app .app_container {
|
||
display: flex;
|
||
z-index: 2;
|
||
}
|
||
|
||
.legal_rich-text li::marker {
|
||
color: var(--theme--color-accent);
|
||
}
|
||
|
||
.benefits_benefit-icon:before {
|
||
position: absolute;
|
||
top: 0;
|
||
left: 0;
|
||
opacity: 0.5;
|
||
background: linear-gradient(
|
||
134.38deg,
|
||
var(--theme--color-white) 4.91%,
|
||
var(--theme--color-black) 108.92%
|
||
);
|
||
content: "";
|
||
z-index: -1;
|
||
width: max(38px, 1.9791666667vw);
|
||
height: max(27px, 1.40625vw);
|
||
}
|
||
|
||
.blog-post_rich-text li::before {
|
||
content: "";
|
||
position: absolute;
|
||
border-radius: 50%;
|
||
height: 8px !important;
|
||
width: 8px !important;
|
||
margin-top: max(8px, 0.78125vw) !important;
|
||
background: var(--theme--color-accent) !important;
|
||
left: 0 !important;
|
||
}
|
||
|
||
.blog-post_rich-text li::marker {
|
||
content: "";
|
||
}
|
||
|
||
.section_hero:before {
|
||
position: absolute;
|
||
top: 50%;
|
||
left: 50%;
|
||
-webkit-transform: translate(-50%, -50%);
|
||
transform: translate(-50%, -50%);
|
||
z-index: -1;
|
||
background: linear-gradient(
|
||
0deg,
|
||
var(--theme--color-black) 15%,
|
||
rgba(9, 9, 121, 0) 50%,
|
||
var(--theme--color-black) 100%
|
||
),
|
||
linear-gradient(
|
||
90deg,
|
||
var(--theme--color-black) 0,
|
||
hsla(0, 0%, 100%, 0) 10%,
|
||
hsla(0, 0%, 100%, 0) 50%,
|
||
hsla(0, 0%, 100%, 0) 90%,
|
||
var(--theme--color-black) 100%
|
||
);
|
||
width: 101%;
|
||
height: 101%;
|
||
aspect-ratio: 16/9;
|
||
content: "";
|
||
pointer-events: none;
|
||
}
|
||
|
||
.section_hero:after {
|
||
position: absolute;
|
||
top: 50%;
|
||
left: 50%;
|
||
-webkit-transform: translate(-50%, -50%);
|
||
transform: translate(-50%, -50%);
|
||
z-index: -1;
|
||
background: linear-gradient(
|
||
0deg,
|
||
var(--theme--color-black) 15%,
|
||
rgba(9, 9, 121, 0) 50%,
|
||
var(--theme--color-black) 100%
|
||
),
|
||
linear-gradient(
|
||
90deg,
|
||
var(--theme--color-black) 0,
|
||
hsla(0, 0%, 100%, 0) 10%,
|
||
hsla(0, 0%, 100%, 0) 50%,
|
||
hsla(0, 0%, 100%, 0) 90%,
|
||
var(--theme--color-black) 100%
|
||
);
|
||
width: 101%;
|
||
height: 101%;
|
||
content: "";
|
||
pointer-events: none;
|
||
}
|
||
|
||
.section_404:before {
|
||
background: radial-gradient(
|
||
ellipse farthest-corner at center center,
|
||
rgba(4, 4, 4, 0.25) 55%,
|
||
var(--theme--color-black) 0
|
||
);
|
||
width: 120%;
|
||
height: 115%;
|
||
filter: blur(max(40px, 4.1666666667vw));
|
||
will-change: filter, transform;
|
||
aspect-ratio: 16 / 9;
|
||
position: absolute;
|
||
top: 50%;
|
||
left: 50%;
|
||
transform: translate(-50%, -50%);
|
||
z-index: -1;
|
||
content: "";
|
||
pointer-events: none;
|
||
}
|
||
|
||
html[data-theme="light"] .section_404:before {
|
||
width: 120%;
|
||
height: 115%;
|
||
background: linear-gradient(
|
||
0deg,
|
||
var(--theme--color-black) 15%,
|
||
rgba(9, 9, 121, 0) 50%,
|
||
var(--theme--color-black) 100%
|
||
);
|
||
}
|
||
|
||
/* Get rid of top margin on first element in any rich text element */
|
||
.w-richtext > :not(div):first-child,
|
||
.w-richtext > div:first-child > :first-child {
|
||
margin-top: 0 !important;
|
||
}
|
||
|
||
/* Get rid of bottom margin on last element in any rich text element */
|
||
.w-richtext > :last-child,
|
||
.w-richtext ol li:last-child,
|
||
.w-richtext ul li:last-child {
|
||
margin-bottom: 0 !important;
|
||
}
|
||
|
||
.blog_card-title {
|
||
display: -webkit-box;
|
||
-webkit-line-clamp: 2;
|
||
-webkit-box-orient: vertical;
|
||
overflow: hidden;
|
||
text-overflow: ellipsis;
|
||
}
|
||
|
||
.blog_preview,
|
||
.blog_summary,
|
||
.latest-news_summary {
|
||
display: -webkit-box;
|
||
-webkit-line-clamp: 4;
|
||
-webkit-box-orient: vertical;
|
||
overflow: hidden;
|
||
text-overflow: ellipsis;
|
||
}
|
||
|
||
.blog_link-text:before,
|
||
.nav_link:before,
|
||
.footer_link:before {
|
||
position: absolute;
|
||
top: 100%;
|
||
left: 0;
|
||
right: 0;
|
||
opacity: 0;
|
||
width: 0;
|
||
background-image: repeating-linear-gradient(
|
||
0deg,
|
||
currentcolor,
|
||
currentcolor 100%,
|
||
transparent 0,
|
||
transparent 0,
|
||
currentcolor 0
|
||
),
|
||
repeating-linear-gradient(
|
||
90deg,
|
||
currentcolor,
|
||
currentcolor 100%,
|
||
transparent 0,
|
||
transparent 0,
|
||
currentcolor 0
|
||
),
|
||
repeating-linear-gradient(
|
||
currentcolor,
|
||
currentcolor 100%,
|
||
transparent 0,
|
||
transparent 0,
|
||
currentcolor 0
|
||
),
|
||
repeating-linear-gradient(
|
||
270deg,
|
||
currentcolor,
|
||
currentcolor 100%,
|
||
transparent 0,
|
||
transparent 0,
|
||
currentcolor 0
|
||
);
|
||
background-position: 0 0, 0 0, 100% 0, 0 100%;
|
||
background-repeat: no-repeat;
|
||
background-size: 0 100%, 100% 0, 0 100%, 100% 2px;
|
||
height: max(1px, 0.0520833333vw);
|
||
-webkit-animation: link_border__mvlME var(--duration-normal) linear infinite;
|
||
animation: link_border__mvlME var(--duration-normal) linear infinite;
|
||
content: "";
|
||
pointer-events: none;
|
||
transition: all var(--duration-normal) var(--ease);
|
||
}
|
||
|
||
.nav_link:hover::before,
|
||
.blog_link-text:hover::before,
|
||
.footer_link:hover::before {
|
||
width: 100%;
|
||
opacity: 1;
|
||
transition: all var(--duration-normal) var(--ease);
|
||
}
|
||
|
||
.blog-hero_card:hover .blog_hero-card-image-container {
|
||
-webkit-filter: brightness(125%);
|
||
filter: brightness(125%);
|
||
transition: -webkit-filter var(--duration-normal);
|
||
transition: filter var(--duration-normal);
|
||
transition: filter var(--duration-normal),
|
||
-webkit-filter var(--duration-normal);
|
||
}
|
||
|
||
.blog_card:hover .blog_card-image-container {
|
||
-webkit-filter: brightness(125%);
|
||
filter: brightness(125%);
|
||
transition: -webkit-filter var(--duration-normal);
|
||
transition: filter var(--duration-normal);
|
||
transition: filter var(--duration-normal),
|
||
-webkit-filter var(--duration-normal);
|
||
}
|
||
|
||
.blog_link:hover .blog_link-icon {
|
||
-webkit-transform: rotate(45deg) scale(1.15);
|
||
transform: rotate(45deg) scale(1.15);
|
||
}
|
||
|
||
.blog_link-icon {
|
||
transition: transform var(--normal-transition),
|
||
-webkit-transform var(--normal-transition);
|
||
}
|
||
|
||
@media (min-width: 1600px) {
|
||
.blog_grid {
|
||
grid-template-columns: repeat(3, 1fr);
|
||
}
|
||
}
|
||
|
||
@media (max-width: 990px) {
|
||
|
||
|
||
.social_subheader:before{
|
||
visibility:hidden;
|
||
}
|
||
|
||
|
||
.opportunities_block:last-child {
|
||
border-bottom: unset;
|
||
padding-bottom: 5.3333333333vw;
|
||
}
|
||
|
||
.opportunities_block:not(:first-child) {
|
||
margin-top: max(60px, 5.859375vw);
|
||
}
|
||
|
||
.blog_link-text:before,
|
||
.nav_link:before {
|
||
top: 105%;
|
||
}
|
||
|
||
html[data-theme="light"] .nav_menu {
|
||
background-image: linear-gradient(
|
||
180deg,
|
||
var(--theme--color-black) 1%,
|
||
var(--theme--color-black) 65%
|
||
); /* Use decimal value for opacity with higher specificity */
|
||
}
|
||
|
||
.section_hero:before,
|
||
.section_hero:after {
|
||
display: none;
|
||
}
|
||
|
||
.section_app div:first-child {
|
||
width: 100%;
|
||
min-height: max(340px, 50.6666666667vw);
|
||
order: 2;
|
||
}
|
||
}
|
||
|
||
|
||
|
||
</style></div><div class="noise-component"></div><header class="nav_component"><nav class="nav_container"><a aria-label="Go to Homepage" href="/" class="nav_logo-wrapper w-inline-block"><svg xmlns="http://www.w3.org/2000/svg" width="601" height="106" viewBox="0 0 601 106" fill="none" class="nav_logo"><path fill-rule="evenodd" clip-rule="evenodd" d="M18.2894 55.7848C30.5189 43.5558 38.0888 26.6671 38.0854 8.02048C38.09 5.48949 37.9502 2.98667 37.6724 0.514839L0.560059 0.518218L0.561185 71.8255C0.557804 80.4687 3.85339 89.1148 10.4451 95.7065C17.0374 102.298 25.6897 105.598 34.3346 105.593L34.3323 105.596L105.642 105.597L105.64 68.4797C103.173 68.2076 100.671 68.0673 98.134 68.0667C79.4918 68.069 62.6026 75.6383 50.373 87.8673C41.474 96.5432 27.2059 96.5449 18.4167 87.7557C9.6332 78.9722 9.62925 64.6996 18.2894 55.7848ZM97.9446 8.23121C87.6956 -2.01727 71.0447 -2.02122 60.7923 8.23121C50.5398 18.4831 50.5438 35.134 60.7923 45.3819C71.0464 55.636 87.6922 55.6343 97.9446 45.3819C108.197 35.13 108.199 18.4848 97.9446 8.23121Z" fill="var(--theme--color-white)"></path><path d="M165.931 98.1547H206.814V86.3139H179.596V7.9399H165.931V98.1547Z" fill="var(--theme--color-white)"></path><path d="M262.275 7.9399H239.613L215.925 98.1547H230.046L235.968 75.6011H265.236L271.158 98.1547H285.962L262.275 7.9399ZM238.815 64.3243L250.659 17.6379H251.114L262.502 64.3243H238.815Z" fill="var(--theme--color-white)"></path><path d="M331.202 42.9061H347.145C347.145 17.195 338.832 6.14364 319.472 6.14364C299.087 6.14364 290.319 20.1272 290.319 52.9428C290.319 85.871 299.087 99.9673 319.472 99.9673C338.832 99.9673 347.145 89.2539 347.259 64.3322H331.316C331.202 83.8415 328.81 88.6905 319.472 88.6905C308.767 88.6905 306.148 81.586 306.262 52.9428C306.262 24.4122 308.881 17.3077 319.472 17.4204C328.81 17.4204 331.202 22.4954 331.202 42.9061Z" fill="var(--theme--color-white)"></path><path d="M388.201 6.14421C408.927 6.25746 417.81 20.3532 417.81 53.056C417.81 85.7589 408.927 99.8551 388.201 99.9678C367.361 100.081 358.478 85.9843 358.478 53.056C358.478 20.1278 367.361 6.03152 388.201 6.14421ZM374.421 53.056C374.421 81.5866 377.154 88.6911 388.201 88.6911C399.133 88.6911 401.867 81.5866 401.867 53.056C401.867 24.4128 399.133 17.3083 388.201 17.4215C377.154 17.5342 374.421 24.6387 374.421 53.056Z" fill="var(--theme--color-white)"></path><path d="M447.595 98.042L433.929 98.1547V7.9399H457.958L480.393 81.4649H480.62V7.9399H494.283V98.1547H471.738L447.823 18.9913H447.595V98.042Z" fill="var(--theme--color-white)"></path><path d="M528.434 7.9399H514.77V98.1547H528.434V7.9399Z" fill="var(--theme--color-white)"></path><path d="M584.502 42.9061H600.447C600.447 17.195 592.131 6.14364 572.771 6.14364C552.391 6.14364 543.618 20.1272 543.618 52.9428C543.618 85.871 552.391 99.9673 572.771 99.9673C592.131 99.9673 600.447 89.2539 600.56 64.3322H584.615C584.502 83.8415 582.113 88.6905 572.771 88.6905C562.066 88.6905 559.451 81.586 559.564 52.9428C559.564 24.4122 562.184 17.3077 572.771 17.4204C582.113 17.4204 584.502 22.4954 584.502 42.9061Z" fill="var(--theme--color-white)"></path></svg></a><div class="nav_menu"><div class="nav_links"><a data-w-id="fbd3c3c8-569b-7ba4-52f1-12d65e5c9f1e" href="/products" class="nav_link">Products</a><a data-w-id="fbd3c3c8-569b-7ba4-52f1-12d65e5c9f20" href="/partners" class="nav_link">Partners</a><a data-w-id="fbd3c3c8-569b-7ba4-52f1-12d65e5c9f22" href="/community" class="nav_link">Community</a><a data-w-id="fbd3c3c8-569b-7ba4-52f1-12d65e5c9f24" href="/blog" class="nav_link">Blog</a></div><a href="https://github.com/cerc-io/stack-orchestrator" target="_blank" class="button mobile-nav w-button">GET STARTED</a><div class="hide-on-desktop"><div class="nav_secondary-menu"><div class="theme-toggle_wrapper"><div id="toggle-label" class="footer_toggle-label">Dark Mode</div><a id="theme-toggle" href="#" class="footer_toggle w-inline-block"><div class="footer_toggle-circle"></div></a></div><div class="nav_social"><a aria-label="Visit our Twitter" href="https://twitter.com/laconicnetwork" target="_blank" class="social-link w-inline-block"><svg fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="footer_social-icon"><path d="M7.55016 21.3548c9.05434 0 14.00814-7.4471 14.00814-13.9033 0-.20936-.0047-.42337-.0141-.63273.9637-.69168 1.7953-1.54843 2.4558-2.52999-.8975.39631-1.8504.65515-2.8261.76765 1.0274-.61122 1.7966-1.57142 2.1652-2.7026-.9665.56851-2.0235.96954-3.1257 1.18591-.7426-.78315-1.7244-1.30169-2.7937-1.47544-1.0693-.17376-2.1665.00695-3.122.51417-.9554.50722-1.7159 1.31271-2.1639 2.29194-.4479.97922-.5584 2.07764-.3143 3.12543-1.95701-.09747-3.87156-.60206-5.61952-1.48104-1.74795-.87898-3.29029-2.11274-4.52701-3.62129-.62857 1.07562-.820913 2.34843-.53794 3.55975C1.418 7.66457 2.15506 8.7235 3.19641 9.41483c-.78178-.02463-1.54643-.23354-2.230785-.60947v.06048c-.0007 1.12879.392475 2.22296 1.112685 3.09656.72021.8736 1.72301 1.4727 2.83794 1.6955-.72419.1966-1.48427.2253-2.22141.0837.31461.9708.92673 1.8198 1.75093 2.4287.8242.6088 1.81935.9471 2.84657.9676-1.74392 1.3596-3.89817 2.0971-6.11578 2.0936C.783287 19.2309.390399 19.2069 0 19.1598c2.25286 1.4345 4.87353 2.1964 7.55016 2.195Z" fill="url(#:r34:)"></path><defs><linearGradient id=":r34:" x1="12" y1="2" x2="12" y2="21.3548" gradientUnits="userSpaceOnUse"><stop stop-color="currentColor"></stop><stop stop-color="currentColor" stop-offset="1"></stop></linearGradient></defs></svg></a><a aria-label="Join us on Discord" href="https://discord.com/invite/ukhbBemyxY" target="_blank" class="social-link w-inline-block"><svg fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 33 26" class="footer_social-icon"><path d="M27.936 2.155A26.571 26.571 0 0 0 21.219.002a.1.1 0 0 0-.108.053c-.29.533-.611 1.229-.837 1.775a24.314 24.314 0 0 0-7.544 0 18.232 18.232 0 0 0-.85-1.775.105.105 0 0 0-.107-.053 26.497 26.497 0 0 0-6.717 2.153.097.097 0 0 0-.044.04C.733 8.8-.438 15.245.136 21.61c.003.03.02.06.043.08 2.823 2.142 5.557 3.443 8.24 4.305a.105.105 0 0 0 .116-.039c.635-.896 1.2-1.84 1.686-2.834a.11.11 0 0 0-.057-.15 17.773 17.773 0 0 1-2.574-1.269.111.111 0 0 1-.01-.181c.172-.134.345-.274.51-.414a.1.1 0 0 1 .107-.015c5.4 2.549 11.248 2.549 16.585 0a.099.099 0 0 1 .108.013c.165.141.338.282.512.416a.111.111 0 0 1-.01.181c-.821.497-1.676.916-2.575 1.267a.11.11 0 0 0-.055.152 22.854 22.854 0 0 0 1.684 2.833.103.103 0 0 0 .116.04c2.696-.862 5.43-2.163 8.253-4.305a.11.11 0 0 0 .043-.079c.688-7.358-1.153-13.75-4.88-19.415a.085.085 0 0 0-.042-.04Zm-16.909 15.58c-1.625 0-2.965-1.543-2.965-3.438 0-1.895 1.314-3.438 2.966-3.438 1.665 0 2.991 1.556 2.965 3.438 0 1.895-1.314 3.438-2.966 3.438Zm10.966 0c-1.626 0-2.966-1.543-2.966-3.438 0-1.895 1.314-3.438 2.966-3.438 1.665 0 2.992 1.556 2.966 3.438 0 1.895-1.301 3.438-2.966 3.438Z" fill="currentColor"></path></svg></a><a aria-label="Visit our Youtube Channel" href="https://www.youtube.com/@Laconic-Network" target="_blank" class="social-link w-inline-block"><svg fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30" class="footer_social-icon"><path d="M 15 4 C 10.814 4 5.3808594 5.0488281 5.3808594 5.0488281 L 5.3671875 5.0644531 C 3.4606632 5.3693645 2 7.0076245 2 9 L 2 15 L 2 15.001953 L 2 21 L 2 21.001953 A 4 4 0 0 0 5.3769531 24.945312 L 5.3808594 24.951172 C 5.3808594 24.951172 10.814 26.001953 15 26.001953 C 19.186 26.001953 24.619141 24.951172 24.619141 24.951172 L 24.621094 24.949219 A 4 4 0 0 0 28 21.001953 L 28 21 L 28 15.001953 L 28 15 L 28 9 A 4 4 0 0 0 24.623047 5.0546875 L 24.619141 5.0488281 C 24.619141 5.0488281 19.186 4 15 4 z M 12 10.398438 L 20 15 L 12 19.601562 L 12 10.398438 z" fill="currentColor" fill-rule="evenodd" clip-rule="evenodd"></path></svg></a><a aria-label="Find us on Reddit" href="https://www.reddit.com/r/LaconicNetwork/" target="_blank" class="social-link w-inline-block"><svg fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="footer_social-icon"><path d="M24 12c0 6.6274-5.3726 12-12 12-6.62742 0-12-5.3726-12-12C0 5.37258 5.37258 0 12 0c6.6274 0 12 5.37258 12 12Zm-5.7544-1.7544C19.214 10.2456 20 11.0316 20 12c0 .7158-.4351 1.3333-1.0105 1.614.0281.1684.0421.3369.0421.5193 0 2.6947-3.1298 4.8702-7.0035 4.8702-3.87371 0-7.00353-2.1755-7.00353-4.8702 0-.1824.01403-.3649.0421-.5333-.61754-.2807-1.03859-.8842-1.03859-1.6 0-.9684.78596-1.7544 1.75438-1.7544.46316 0 .89825.1965 1.20702.4912 1.20702-.88419 2.87719-1.43156 4.74382-1.4877l.8843-4.18246c.028-.08421.0701-.15438.1403-.19649.0702-.0421.1544-.05614.2386-.0421l2.9053.61754c.1965-.42105.6175-.70175 1.1087-.70175.6878 0 1.2492.5614 1.2492 1.24912s-.5614 1.24912-1.2492 1.24912c-.6736 0-1.221-.53333-1.2491-1.19298l-2.5965-.54737-.8 3.74737c1.8246.07018 3.4807.63158 4.6737 1.4877.3088-.3088.7298-.4912 1.207-.4912ZM9.24913 12c-.68772 0-1.24912.5614-1.24912 1.2491 0 .6877.5614 1.2491 1.24912 1.2491s1.24917-.5614 1.24917-1.2491c0-.6877-.56145-1.2491-1.24917-1.2491Zm2.76487 5.4596c.4772 0 2.1053-.0561 2.9614-.9123.1264-.1263.1264-.3228.0281-.4631-.1263-.1263-.3368-.1263-.4631 0-.5474.5333-1.6843.7298-2.5123.7298-.8281 0-1.979-.1965-2.5123-.7298-.12632-.1263-.33685-.1263-.46316 0-.12632.1263-.12632.3368 0 .4631.8421.8422 2.48416.9123 2.96136.9123Zm1.4878-4.2105c0 .6877.5614 1.2491 1.2491 1.2491.6877 0 1.2491-.5614 1.2491-1.2491C16 12.5614 15.4386 12 14.7509 12c-.6877 0-1.2491.5614-1.2491 1.2491Z" fill="url(#:r35:)" clip-rule="evenodd" fill-rule="evenodd"></path><defs><linearGradient id=":r35:" x1="12" y1="2" x2="12" y2="24" gradientUnits="userSpaceOnUse"><stop stop-color="currentColor"></stop><stop stop-color="currentColor" stop-offset="1"></stop></linearGradient></defs></svg></a><a aria-label="Chat with us on Telegram" href="https://t.me/laconicnetwork" target="_blank" class="social-link w-inline-block"><svg fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="footer_social-icon"><path d="M24 12c0 6.6274-5.3726 12-12 12-6.62742 0-12-5.3726-12-12C0 5.37258 5.37258 0 12 0c6.6274 0 12 5.37258 12 12ZM12.43 8.85893c-1.1672.48547-3.49986 1.49027-6.99811 3.01437-.56806.2259-.86563.4469-.89272.663-.04578.3652.41154.509 1.0343.7048.08471.0267.17248.0543.26247.0835.6127.1992 1.43689.4322 1.86535.4414.38865.0084.82244-.1518 1.30135-.4807 3.26856-2.2063 4.95576-3.32149 5.06166-3.34553.0747-.01696.1783-.03829.2485.02408.0701.06235.0632.18045.0558.21215-.0453.1931-1.8405 1.8621-2.7695 2.7258-.2896.2692-.495.4602-.537.5038-.0941.0977-.19.1902-.2821.279-.5692.5487-.99609.9602.0236 1.6322.49.3229.8822.5899 1.2733.8563.4273.291.8534.5812 1.4047.9426.1405.092.2746.1877.4053.2808.4972.3545.9438.6729 1.4957.6221.3206-.0295.6519-.331.8201-1.2302.3975-2.1253 1.1789-6.7299 1.3595-8.62743.0158-.16624-.0041-.379-.02-.4724-.016-.09339-.0494-.22646-.1708-.32497-.1438-.11666-.3658-.14126-.465-.13952-.4514.00795-1.1438.24874-4.4764 1.63485Z" fill="url(#:r36:)" clip-rule="evenodd" fill-rule="evenodd"></path><defs><linearGradient id=":r36:" x1="12" y1="2" x2="12" y2="24" gradientUnits="userSpaceOnUse"><stop stop-color="currentColor"></stop><stop stop-color="currentColor" stop-offset="1"></stop></linearGradient></defs></svg></a><a aria-label="Find us on LinkedIn" href="https://www.linkedin.com/company/laconic-network/" target="_blank" class="social-link w-inline-block"><svg fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="footer_social-icon"><path d="M3e-7 2.00509C3e-7 1.47331.21125.963308.587278.58728.963305.211253 1.47331.00000267 2.00509.00000267H21.9927c.2636-.00043042.5246.05112313.7682.15170933.2436.100586.4649.248229.6514.434476.1864.186247.3343.40744.4352.650912.1008.24348.1526.50446.1525.76799V21.9927c.0003.2636-.0514.5247-.1521.7683-.1007.2436-.2485.4649-.4348.6513-.1863.1865-.4076.3343-.6511.4352-.2436.1008-.5046.1526-.7682.1525H2.00509c-.2634 0-.52423-.0519-.76757-.1527-.243336-.1009-.464424-.2487-.650628-.435-.186204-.1863-.333875-.4074-.434576-.6508-.1007015-.2434-.15245901-.5043-.1523157-.7677V2.00509ZM9.49964 9.15055h3.24986v1.63195C13.2185 9.84437 14.4185 9 16.2218 9c3.4571 0 4.2764 1.8687 4.2764 5.2975v6.3512h-3.4986v-5.5702c0-1.9527-.4691-3.0545-1.6603-3.0545-1.6528 0-2.34 1.188-2.34 3.0545v5.5702H9.49964V9.15055Zm-6 11.34875h3.49963V9H3.49964v11.4993ZM7.5 5.24946c.0066.29964-.04672.59758-.15683.87634s-.27479.53271-.48437.74696c-.20959.21426-.45986.38449-.73612.5007-.27627.11622-.57296.17609-.87268.17609s-.59641-.05987-.87268-.17609c-.27626-.11621-.52653-.28644-.73612-.5007-.20958-.21425-.37426-.4682-.48437-.74696C3.04672 5.84704 2.9934 5.5491 3 5.24946c.01295-.58816.25569-1.14787.67624-1.55925.42054-.41139.98546-.64175 1.57376-.64175s1.15322.23036 1.57376.64175c.42055.41138.66329.97109.67624 1.55925Z" fill="currentColor" clip-rule="evenodd" fill-rule="evenodd"></path></svg></a><a aria-label="Visit our Facebook page" href="https://www.facebook.com/laconicnetwork" target="_blank" class="social-link w-inline-block"><svg fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="footer_social-icon"><path d="M24 12c0-6.62742-5.3726-12-12-12C5.37258 0 0 5.37258 0 12c0 5.9895 4.3882 10.954 10.125 11.8542v-8.3855H7.07812V12H10.125V9.35625c0-3.0075 1.7916-4.66875 4.5326-4.66875 1.3125 0 2.6862.23437 2.6862.23437V7.875h-1.5132c-1.4906 0-1.9556.92508-1.9556 1.875V12h3.3281l-.532 3.4687H13.875v8.3855C19.6118 22.954 24 17.9895 24 12Z" fill="url(#:r37:)" clip-rule="evenodd" fill-rule="evenodd"></path><defs><linearGradient id=":r37:" x1="12" y1="2" x2="12" y2="24" gradientUnits="userSpaceOnUse"><stop stop-color="currentColor"></stop><stop stop-color="currentColor" stop-offset="1"></stop></linearGradient></defs></svg></a><a aria-label="Follow us on Instagram" href="https://instagram.com/laconicnetwork" target="_blank" class="social-link w-inline-block"><svg fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="footer_social-icon"><path d="M12 2.16094c3.2063 0 3.5859.01406 4.8469.07031 1.1719.05156 1.8047.24844 2.2265.4125.5579.21563.961.47813 1.3782.89531.4218.42188.6797.82032.8953 1.37813.164.42187.3609 1.05937.4125 2.22656.0562 1.26562.0703 1.64531.0703 4.84685 0 3.2063-.0141 3.586-.0703 4.8469-.0516 1.1719-.2485 1.8047-.4125 2.2266-.2156.5578-.4782.9609-.8953 1.3781-.4219.4219-.8203.6797-1.3782.8953-.4218.1641-1.0593.3609-2.2265.4125-1.2656.0562-1.6453.0703-4.8469.0703-3.20625 0-3.58594-.0141-4.84687-.0703-1.17188-.0516-1.80469-.2484-2.22657-.4125-.55781-.2156-.96093-.4781-1.37812-.8953-.42188-.4219-.67969-.8203-.89531-1.3781-.16407-.4219-.36094-1.0594-.4125-2.2266-.05625-1.2656-.07032-1.6453-.07032-4.8469 0-3.20622.01407-3.58591.07032-4.84685.05156-1.17188.24843-1.80469.4125-2.22656.21562-.55781.47812-.96094.89531-1.37813.42187-.42187.82031-.67968 1.37812-.89531.42188-.16406 1.05938-.36094 2.22657-.4125C8.41406 2.175 8.79375 2.16094 12 2.16094ZM12 0C8.74219 0 8.33438.0140625 7.05469.0703125 5.77969.126563 4.90313.332812 4.14375.628125 3.35156.9375 2.68125 1.34531 2.01563 2.01562 1.34531 2.68125.9375 3.35156.628125 4.13906.332812 4.90313.126563 5.775.0703125 7.05.0140625 8.33437 0 8.74219 0 12c0 3.2578.0140625 3.6656.0703125 4.9453.0562505 1.275.2624995 2.1516.5578125 2.911.309375.7921.717185 1.4625 1.387505 2.1281.66562.6656 1.33593 1.0781 2.12343 1.3828.76407.2953 1.63594.5015 2.91094.5578 1.27969.0562 1.6875.0703 4.9453.0703 3.2578 0 3.6656-.0141 4.9453-.0703 1.275-.0563 2.1516-.2625 2.911-.5578.7875-.3047 1.4578-.7172 2.1234-1.3828.6656-.6656 1.0781-1.336 1.3828-2.1235.2953-.764.5016-1.6359.5578-2.9109.0563-1.2797.0703-1.6875.0703-4.9453 0-3.25782-.014-3.66564-.0703-4.94532-.0562-1.275-.2625-2.15157-.5578-2.91094-.2953-.79688-.7031-1.46719-1.3734-2.13282C21.3188 1.35 20.6484.9375 19.8609.632812 19.0969.3375 18.225.13125 16.95.075 15.6656.0140625 15.2578 0 12 0Z" fill="url(#:r38:)"></path><path d="M12 5.83594c-3.40312 0-6.16406 2.76094-6.16406 6.16406 0 3.4031 2.76094 6.1641 6.16406 6.1641 3.4031 0 6.1641-2.761 6.1641-6.1641 0-3.40312-2.761-6.16406-6.1641-6.16406Zm0 10.16246c-2.20781 0-3.99844-1.7906-3.99844-3.9984 0-2.20781 1.79063-3.99844 3.99844-3.99844 2.2078 0 3.9984 1.79063 3.9984 3.99844 0 2.2078-1.7906 3.9984-3.9984 3.9984Z" fill="url(#:r38:)"></path><path d="M19.8469 5.59238c0 .79688-.6469 1.43907-1.4391 1.43907-.7969 0-1.439-.64688-1.439-1.43907 0-.79687.6468-1.43906 1.439-1.43906s1.4391.64688 1.4391 1.43906Z" fill="url(#:r38:)"></path><defs><linearGradient id=":r38:" x1="12" y1="2" x2="12" y2="24" gradientUnits="userSpaceOnUse"><stop stop-color="currentColor"></stop><stop stop-color="currentColor" stop-offset="1"></stop></linearGradient></defs></svg></a></div><div>Laconic: Offshore Hosting Made Easy</div></div></div></div><a id="nav-button" aria-label="Toggle mobile menu" href="#" class="nav_mobile-button w-inline-block"><div data-is-ix2-target="1" class="nav_burger" data-w-id="fbd3c3c8-569b-7ba4-52f1-12d65e5c9f29" data-animation-type="lottie" data-src="../images/laconic-20menu.json" data-loop="0" data-direction="1" data-autoplay="0" data-renderer="svg" data-duration="0" data-ix2-initial-state="0"></div></a><a href="https://github.com/cerc-io/stack-orchestrator" target="_blank" class="button nav w-button">GET STARTED</a></nav></header><main class="main"><section class="section_blog-post-hero"><div class="padding-global"><div class="container-large"><div class="blog-hero_component"><h1 class="heading-style-h2">99 Problems But NFTs Ain’t One</h1><div class="blog_byline"><div>9.28.2022</div><div>-</div><div class="blog_author"><div>BY — </div><div>Joshua Eustis</div></div></div><div class="blog_categories hero"><div class="blog_category-chip w-condition-invisible"><div>Developers</div></div><div class="blog_category-chip w-condition-invisible"><div>Insights</div></div><div class="blog_category-chip"><div>Product</div></div><div class="blog_category-chip w-condition-invisible"><div>News</div></div><div class="blog_category-chip w-condition-invisible"><div>Partners</div></div></div></div></div></div></section><section class="section_blog-post"><div class="padding-global"><div class="container-large"><div class="blog-post_image-container"><img src="../images/99-problems-but-nfts-aint-one.png" loading="lazy" alt="" sizes="(max-width: 479px) 93vw, (max-width: 991px) 94vw, 68vw" srcset="../images/99-problems-but-nfts-aint-one-p-500.png 500w, ../images/99-problems-but-nfts-aint-one-p-800.png 800w, ../images/99-problems-but-nfts-aint-one-p-1080.png 1080w, ../images/99-problems-but-nfts-aint-one-p-1600.png 1600w, ../images/99-problems-but-nfts-aint-one.png 1920w" class="blog-post_image"/></div></div><div class="container-medium"><div class="blog-post_component"><div class="blog-post_container"><div class="blog-post_rich-text w-richtext"><p>Ask most people what they know about NFTs, and it’s likely you’ll hear a lot about digital art, tokenized authenticity, proof of ownership, and/or a hot new asset class (or, depending who you hang out with, commodity fetishism and the death knell of late-stage capitalism). But hot takes aside, today’s market for generative artwork is only the tip of the iceberg. </p><p>Whatever the use case—and the possibilities are vast—today’s NFT ecosystem is generating mountains of largely unstructured data, both on and off chain. And without established technical standards to ensure clear structure and verifiability, it’s all too easy for that data to become the stuff of developer nightmares.</p><h2><strong>More possibilities, more problems.</strong></h2><p>As use cases for NFTs continue to expand beyond <a target="_blank" href="https://superrare.com/">1/1 works of art</a> and <a target="_blank" href="https://boredapeyachtclub.com/#/">10k pfp collections</a>, developers building applications that integrate on-chain tokens face a widening maze of challenges around data management and queries. . The power of an NFT lies in its ability to represent any unique entity, with today’s common use cases including in-game tokens, editioned generative artwork, event ticketing, and even <a target="_blank" href="https://www.theblock.co/post/134923/artist-blows-up-lamborghini-to-make-nfts-in-protest-against-crypto-culture">physical works or goods</a>. Blockchain and non-fungible tokens, in this case, make use of smart contracts, which can be written in a variety of programming languages, using varying methods of metadata storage and retrieval. The digital asset to which a given piece of metadata refers, and the metadata itself, can each be located almost anywhere in the decentralized web—which is itself both immeasurably large and continuously expanding. <br/><br/>Combine a diversity of programming languages and an absence of standardization, and you end up with some novel problems, mostly involving how to handle the sheer volume of data generated, how to locate it in the many places it might be stored (both on chain and off), and how to handle inconsistent data formats and structures. </p><p>The Laconic Network was created to address these challenges through shared standards that make it possible for DApp developers to quickly and intuitively integrate and manage disparate NFT data and assets. In this piece, the first of a two-part series, we look at five major NFT implementation and integration issues—along with what we’re doing to solve each one, so you can sleep at night. </p><h2><strong>1. NFT data lacks consistency and integrity.</strong></h2><p>The functionality of an NFT lies in the metadata describing the individual item it represents. That metadata can consist of traits describing the characteristics of a jpeg artwork, essential information about copyright and intellectual property, guidelines for the item’s intended presentation, or all of the above and more. Metadata can also address a broad set of questions:<em> Am I allowed to use an NFT for commercial purposes based on IP and copyright? Can I play a specific video, given its file format and codec? Are there readable methods for rendering this generative work? Can I easily list this NFT on the larger NFT marketplaces, where I have the best chance of selling it for the best price and in a timely manner?</em></p><p>The rapid growth of the NFT market has further expanded the possible functions of metadata. Developers need an efficient way to retrieve all types of metadata, and to maintain correlation with their on-chain counterparts in provable, hash-linked data structures. Laconic Watchers—APIs that serve data from the Laconic Network—fill this need. The Watchers’ custom search and caching services collect variously constructed data and combine it into a unified form that DApps can interpret and use, without sacrificing data integrity.</p><h2><strong>2. NFT data is fragmented and scattered.</strong></h2><p>It’s not practical to use current blockchain technology as a data storage or retrieval protocol. It was designed primarily as a means for achieving trustless consensus, not as a data availability system. The assets to which NFTs refer are often stored in protocols such as <a target="_blank" href="https://www.arweave.org/">Arweave</a> and <a target="_blank" href="https://ipfs.tech/">IPFS</a>, and pointed to by the NFT’s “<a target="_blank" href="https://docs.openzeppelin.com/contracts/2.x/erc721"><strong><em>tokenURI</em></strong></a>.” In one recent example, complete rendering libraries are stored as <a target="_blank" href="https://twitter.com/dhof/status/1569509636587528195?s=20&t=KUYxKh-vG7qFaTtCvhRObA">compressed, on-chain data URIs</a>; smart contracts then access these libraries to render fully on-chain generative artworks.</p><p>A problem emerges, however, whenever a DApp needs to access any of this information. Methods for retrieval and DApp ingestion vary wildly depending on data type and location. And while RPC services can locate data—for a price—in most cases there’s no measurable way to ensure its integrity. </p><p>Despite being the most lightweight element of the Laconic Stack, the Laconic Watcher has the power to alleviate the proof issue, by preserving evidence of proof across data transformations while querying a far smaller subset of data than is typically required.</p><h2><strong>3. For both NFTs and equivalent token formats, data types vary from blockchain to blockchain.</strong></h2><p>Most of today’s NFTs are based on Ethereum, and most commonly written in Solidity. But zoom out for a wider view of the possibilities for both token types and blockchains, and the problem space increases correspondingly. On Tezos, for instance, smart contracts are most often written in SmartPy or LIGO, with third-place Michelson being a common low-level, domain-specific language. On Solana, Rust, C, and C++ are commonly used to compose smart contracts (referred to in the Solana ecosystem as “programs).” It’s safe to say that we have more than a small naming, language, and methodology mess on our hands in the blockchain ecosystem!<br/><br/>Let’s imagine a DApp that tracks all NFTs representing a certain kind of media—books, for example—to provide an index of on-chain literature. It would need the ability to accurately interpret smart contracts from each chain, across widely varying programming languages, syntax, and metadata standards.</p><p>The Laconic Network drastically simplifies this process, offering developers a unified view of data while allowing DApps to agnostically query data from multiple blockchains from a decentralized, content-addressable database.</p><h2><strong>4. NFT games require lightning-fast retrieval and scalability.</strong></h2><p>The volume of NFT transactions is expected to rise significantly with the <a target="_blank" href="https://tiktok.immutable.com/">current influx</a> of <a target="_blank" href="https://about.instagram.com/blog/announcements/instagram-digital-collectibles">institutional Web 2 players</a> into the Web 3 ecosystem. The problem: As transaction volume and speed increase, data availability with censorship resistance and proof of integrity becomes increasingly unsustainable. And blockchain-based games alone are poised to send NFT transaction volumes to stratospheric heights, with more and more in-game events and transactions driving mounting network traffic. For example, the popular game <a target="_blank" href="https://godsunchained.com/">Gods Unchained</a> is already generating <a target="_blank" href="https://chainplay.gg/games/gods-unchained/">significant transaction volume</a>—and it’s just one of countless on-chain games. </p><p>The growth of games and social apps using on-chain transactions continues to expose issues with Ethereum’s scalability and speed. The problem is compounded by the fact that most indexing services are typically a few blocks behind with updates—too far back to have DApps react to in-game events on time. And that leaves players holding the bag, subjected to unnecessarily clunky and unwieldy gaming experiences.</p><p>Unlike traditional blockchain indexing services, the Laconic Network is equipped to provide up-to-date blockchain data with trivial delay, for scenarios in which real-time data retrieval is essential to user experience.</p><h2><strong>5. Data retrieved from multiple locations is difficult to verify. </strong></h2><p>A fundamental promise of blockchain is verifiability. And while on-chain data is verifiable <em>per se</em>, NFT data can be stored in any number of data repositories. Meanwhile, <em>using</em> that data requires intermediaries such as DNS system records, traditional web servers, and files stored in Web2 datacenters. Every one of these exposes the data to the possibility of censorship, manipulation by bad-faith actors, or simple disappearance. In such scenarios, associated NFT data is most often tied to a token via a ”tokenURI” that references the location of a JSON file containing token metadata. That file, in turn, lives in one of these off-chain data storage protocols.<br/><br/>Typical <a target="_blank" href="https://ethereum.org/en/developers/docs/apis/json-rpc/">RPC</a> providers can retrieve information about such data, then provide it to a client. A wallet client, for example, can find any media files associated with a particular NFT and display them. But this creates a trust bottleneck in the Web 3 ecosystem—requiring DApps and their users to trust the source of the data without proof. Solving this trust point is one of the primary goals of Laconic.</p><h2><strong>Today’s NFT ecosystem isn’t providing standards. Enter Laconic.</strong></h2><p>It’s clear that across blockchains, tokenization standards vary widely. Even with similar token types on the same chain, we see countless examples of how and where data is stored:</p><p>Stay tuned for Part 2, where we’ll dive into more detail on how Laconic solves common implementation and integration challenges, offering both collectors and developers a far smoother NFT experience. </p><p>Got questions? Join us on Discord.</p></div></div></div></div></div></section><section class="section_share"><div class="padding-global"><div class="container-medium"><div class="share_component"><p class="share_header">Share This Article</p><div class="share_button-container"><div class="w-embed"><a class="share_button" target="_blank" href="https://twitter.com/intent/tweet?url=https://www.laconic.com/blog/99-problems-but-nfts-aint-one">
|
||
|
||
|
||
<svg class="share_button-icon" fill="none" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M7.55016 21.3548c9.05434 0 14.00814-7.4471 14.00814-13.9033 0-.20936-.0047-.42337-.0141-.63273.9637-.69168 1.7953-1.54843 2.4558-2.52999-.8975.39631-1.8504.65515-2.8261.76765 1.0274-.61122 1.7966-1.57142 2.1652-2.7026-.9665.56851-2.0235.96954-3.1257 1.18591-.7426-.78315-1.7244-1.30169-2.7937-1.47544-1.0693-.17376-2.1665.00695-3.122.51417-.9554.50722-1.7159 1.31271-2.1639 2.29194-.4479.97922-.5584 2.07764-.3143 3.12543-1.95701-.09747-3.87156-.60206-5.61952-1.48104-1.74795-.87898-3.29029-2.11274-4.52701-3.62129-.62857 1.07562-.820913 2.34843-.53794 3.55975C1.418 7.66457 2.15506 8.7235 3.19641 9.41483c-.78178-.02463-1.54643-.23354-2.230785-.60947v.06048c-.0007 1.12879.392475 2.22296 1.112685 3.09656.72021.8736 1.72301 1.4727 2.83794 1.6955-.72419.1966-1.48427.2253-2.22141.0837.31461.9708.92673 1.8198 1.75093 2.4287.8242.6088 1.81935.9471 2.84657.9676-1.74392 1.3596-3.89817 2.0971-6.11578 2.0936C.783287 19.2309.390399 19.2069 0 19.1598c2.25286 1.4345 4.87353 2.1964 7.55016 2.195Z" fill="url(#:r2c:)"></path><defs><linearGradient id=":r2c:" x1="12" y1="2" x2="12" y2="21.3548" gradientUnits="userSpaceOnUse"><stop stop-color="var(--theme--color-white)"></stop><stop offset="1" stop-color="var(--theme--color-white)"></stop></linearGradient></defs></svg>
|
||
|
||
|
||
</a></div><div class="w-embed"><a class="share_button" target="_blank" href="https://reddit.com/submit?url=https://www.laconic.com/99-problems-but-nfts-aint-one">
|
||
|
||
|
||
<svg class="share_button-icon" fill="none" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M24 12c0 6.6274-5.3726 12-12 12-6.62742 0-12-5.3726-12-12C0 5.37258 5.37258 0 12 0c6.6274 0 12 5.37258 12 12Zm-5.7544-1.7544C19.214 10.2456 20 11.0316 20 12c0 .7158-.4351 1.3333-1.0105 1.614.0281.1684.0421.3369.0421.5193 0 2.6947-3.1298 4.8702-7.0035 4.8702-3.87371 0-7.00353-2.1755-7.00353-4.8702 0-.1824.01403-.3649.0421-.5333-.61754-.2807-1.03859-.8842-1.03859-1.6 0-.9684.78596-1.7544 1.75438-1.7544.46316 0 .89825.1965 1.20702.4912 1.20702-.88419 2.87719-1.43156 4.74382-1.4877l.8843-4.18246c.028-.08421.0701-.15438.1403-.19649.0702-.0421.1544-.05614.2386-.0421l2.9053.61754c.1965-.42105.6175-.70175 1.1087-.70175.6878 0 1.2492.5614 1.2492 1.24912s-.5614 1.24912-1.2492 1.24912c-.6736 0-1.221-.53333-1.2491-1.19298l-2.5965-.54737-.8 3.74737c1.8246.07018 3.4807.63158 4.6737 1.4877.3088-.3088.7298-.4912 1.207-.4912ZM9.24913 12c-.68772 0-1.24912.5614-1.24912 1.2491 0 .6877.5614 1.2491 1.24912 1.2491s1.24917-.5614 1.24917-1.2491c0-.6877-.56145-1.2491-1.24917-1.2491Zm2.76487 5.4596c.4772 0 2.1053-.0561 2.9614-.9123.1264-.1263.1264-.3228.0281-.4631-.1263-.1263-.3368-.1263-.4631 0-.5474.5333-1.6843.7298-2.5123.7298-.8281 0-1.979-.1965-2.5123-.7298-.12632-.1263-.33685-.1263-.46316 0-.12632.1263-.12632.3368 0 .4631.8421.8422 2.48416.9123 2.96136.9123Zm1.4878-4.2105c0 .6877.5614 1.2491 1.2491 1.2491.6877 0 1.2491-.5614 1.2491-1.2491C16 12.5614 15.4386 12 14.7509 12c-.6877 0-1.2491.5614-1.2491 1.2491Z" fill="url(#:r2d:)"></path><defs><linearGradient id=":r2d:" x1="12" y1="0" x2="12" y2="24" gradientUnits="userSpaceOnUse"><stop stop-color="var(--theme--color-white)"></stop><stop offset="1" stop-color="var(--theme--color-white)"></stop></linearGradient></defs></svg>
|
||
|
||
|
||
</a></div><div class="w-embed"><a class="share_button" target="_blank" href="https://discord.com/invite/ukhbBemyxY">
|
||
|
||
<svg class="share_button-icon" viewBox="0 0 33 26" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M27.936 2.155A26.571 26.571 0 0 0 21.219.002a.1.1 0 0 0-.108.053c-.29.533-.611 1.229-.837 1.775a24.314 24.314 0 0 0-7.544 0 18.232 18.232 0 0 0-.85-1.775.105.105 0 0 0-.107-.053 26.497 26.497 0 0 0-6.717 2.153.097.097 0 0 0-.044.04C.733 8.8-.438 15.245.136 21.61c.003.03.02.06.043.08 2.823 2.142 5.557 3.443 8.24 4.305a.105.105 0 0 0 .116-.039c.635-.896 1.2-1.84 1.686-2.834a.11.11 0 0 0-.057-.15 17.773 17.773 0 0 1-2.574-1.269.111.111 0 0 1-.01-.181c.172-.134.345-.274.51-.414a.1.1 0 0 1 .107-.015c5.4 2.549 11.248 2.549 16.585 0a.099.099 0 0 1 .108.013c.165.141.338.282.512.416a.111.111 0 0 1-.01.181c-.821.497-1.676.916-2.575 1.267a.11.11 0 0 0-.055.152 22.854 22.854 0 0 0 1.684 2.833.103.103 0 0 0 .116.04c2.696-.862 5.43-2.163 8.253-4.305a.11.11 0 0 0 .043-.079c.688-7.358-1.153-13.75-4.88-19.415a.085.085 0 0 0-.042-.04Zm-16.909 15.58c-1.625 0-2.965-1.543-2.965-3.438 0-1.895 1.314-3.438 2.966-3.438 1.665 0 2.991 1.556 2.965 3.438 0 1.895-1.314 3.438-2.966 3.438Zm10.966 0c-1.626 0-2.966-1.543-2.966-3.438 0-1.895 1.314-3.438 2.966-3.438 1.665 0 2.992 1.556 2.966 3.438 0 1.895-1.301 3.438-2.966 3.438Z" fill="var(--theme--color-white)"></path></svg>
|
||
|
||
</a></div><div class="w-embed"><a class="share_button" target="_blank" href="https://t.me/share/url?url=https://www.laconic.com/blog/99-problems-but-nfts-aint-one">
|
||
|
||
<svg class="share_button-icon" fill="none" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path clip-rule="evenodd" d="M24 12c0 6.6274-5.3726 12-12 12-6.62742 0-12-5.3726-12-12C0 5.37258 5.37258 0 12 0c6.6274 0 12 5.37258 12 12ZM12.43 8.85893c-1.1672.48547-3.49986 1.49027-6.99811 3.01437-.56806.2259-.86563.4469-.89272.663-.04578.3652.41154.509 1.0343.7048.08471.0267.17248.0543.26247.0835.6127.1992 1.43689.4322 1.86535.4414.38865.0084.82244-.1518 1.30135-.4807 3.26856-2.2063 4.95576-3.32149 5.06166-3.34553.0747-.01696.1783-.03829.2485.02408.0701.06235.0632.18045.0558.21215-.0453.1931-1.8405 1.8621-2.7695 2.7258-.2896.2692-.495.4602-.537.5038-.0941.0977-.19.1902-.2821.279-.5692.5487-.99609.9602.0236 1.6322.49.3229.8822.5899 1.2733.8563.4273.291.8534.5812 1.4047.9426.1405.092.2746.1877.4053.2808.4972.3545.9438.6729 1.4957.6221.3206-.0295.6519-.331.8201-1.2302.3975-2.1253 1.1789-6.7299 1.3595-8.62743.0158-.16624-.0041-.379-.02-.4724-.016-.09339-.0494-.22646-.1708-.32497-.1438-.11666-.3658-.14126-.465-.13952-.4514.00795-1.1438.24874-4.4764 1.63485Z" fill="url(#:r2e:)" fill-rule="evenodd"></path><defs><linearGradient id=":r2e:" x1="12" y1="0" x2="12" y2="24" gradientUnits="userSpaceOnUse"><stop stop-color="var(--theme--color-white)"></stop><stop offset="1" stop-color="var(--theme--color-white)"></stop></linearGradient></defs></svg>
|
||
|
||
</a></div><div class="w-embed"><a class="share_button" target="_blank" href="https://www.facebook.com/sharer/sharer.php?u=https://www.laconic.com/blog/99-problems-but-nfts-aint-one">
|
||
|
||
<svg class="share_button-icon" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M24 12c0-6.62742-5.3726-12-12-12C5.37258 0 0 5.37258 0 12c0 5.9895 4.3882 10.954 10.125 11.8542v-8.3855H7.07812V12H10.125V9.35625c0-3.0075 1.7916-4.66875 4.5326-4.66875 1.3125 0 2.6862.23437 2.6862.23437V7.875h-1.5132c-1.4906 0-1.9556.92508-1.9556 1.875V12h3.3281l-.532 3.4687H13.875v8.3855C19.6118 22.954 24 17.9895 24 12Z" fill="url(#:r2f:)"></path><defs><linearGradient id=":r2f:" x1="12" y1="0" x2="12" y2="23.8542" gradientUnits="userSpaceOnUse"><stop stop-color="var(--theme--color-white)"></stop><stop offset="1" stop-color="var(--theme--color-white)"></stop></linearGradient></defs></svg>
|
||
|
||
|
||
</a></div></div><div class="share_button-icon"></div></div></div></div></section><section class="section_related-posts"><div class="padding-global"><div class="container-large"><div class="related-posts_component"><h2 class="hazy">Recent Articles</h2><div class="blog_collection-list-wrapper w-dyn-list"><div role="list" class="blog_grid w-dyn-items"><div role="listitem" class="blog_card w-dyn-item"><div class="blog_card-container"><div class="blog_card-header"><div class="blog_categories"><div class="blog_category-chip"><div>Developers</div></div><div class="blog_category-chip w-condition-invisible"><div>Insights</div></div><div class="blog_category-chip w-condition-invisible"><div>Product</div></div><div class="blog_category-chip w-condition-invisible"><div>News</div></div><div class="blog_category-chip w-condition-invisible"><div>Partners</div></div></div><div class="blog_publish-date">8.20.2024</div></div><div class="blog_card-image-container"><img src="../images/og.webp" loading="lazy" alt="" sizes="(max-width: 479px) 100vw, (max-width: 991px) 94vw, 67vw" srcset="../images/og-p-500.webp 500w, ../images/og-p-800.webp 800w, ../images/og-p-1080.webp 1080w, ../images/og.webp 1200w" class="blog_card-image"/></div><div class="blog_card-content"><h2 class="blog_card-title">LORO Testnet Stage 1 is Live</h2><a href="/blog/stage1-live" class="blog_link w-inline-block"><div class="blog_link-text">Read Article</div><svg fill="none" viewBox="0 0 11 11" xmlns="http://www.w3.org/2000/svg" class="blog_link-icon"><path d="M1.455 10.557.427 9.53l7.648-7.662H2.167L2.181.443h8.347v8.36H9.091l.013-5.907-7.649 7.661Z" fill="var(--theme--color-white)"></path></svg></a></div></div></div><div role="listitem" class="blog_card w-dyn-item"><div class="blog_card-container"><div class="blog_card-header"><div class="blog_categories"><div class="blog_category-chip"><div>Developers</div></div><div class="blog_category-chip w-condition-invisible"><div>Insights</div></div><div class="blog_category-chip w-condition-invisible"><div>Product</div></div><div class="blog_category-chip w-condition-invisible"><div>News</div></div><div class="blog_category-chip w-condition-invisible"><div>Partners</div></div></div><div class="blog_publish-date">8.12.2024</div></div><div class="blog_card-image-container"><img src="../images/deep-dive-testnet.webp" loading="lazy" alt="" sizes="(max-width: 479px) 100vw, (max-width: 991px) 94vw, 67vw" srcset="../images/deep-dive-testnet-p-500.webp 500w, ../images/deep-dive-testnet-p-800.webp 800w, ../images/deep-dive-testnet-p-1080.webp 1080w, ../images/deep-dive-testnet.webp 1440w" class="blog_card-image"/></div><div class="blog_card-content"><h2 class="blog_card-title">How to Register for the Laconic Incentivized Testnet</h2><a href="/blog/testnet-update" class="blog_link w-inline-block"><div class="blog_link-text">Read Article</div><svg fill="none" viewBox="0 0 11 11" xmlns="http://www.w3.org/2000/svg" class="blog_link-icon"><path d="M1.455 10.557.427 9.53l7.648-7.662H2.167L2.181.443h8.347v8.36H9.091l.013-5.907-7.649 7.661Z" fill="var(--theme--color-white)"></path></svg></a></div></div></div><div role="listitem" class="blog_card w-dyn-item"><div class="blog_card-container"><div class="blog_card-header"><div class="blog_categories"><div class="blog_category-chip"><div>Developers</div></div><div class="blog_category-chip w-condition-invisible"><div>Insights</div></div><div class="blog_category-chip w-condition-invisible"><div>Product</div></div><div class="blog_category-chip w-condition-invisible"><div>News</div></div><div class="blog_category-chip w-condition-invisible"><div>Partners</div></div></div><div class="blog_publish-date">7.24.2024</div></div><div class="blog_card-image-container"><img src="../images/chain-minimalism.webp" loading="lazy" alt="" sizes="(max-width: 479px) 100vw, (max-width: 991px) 94vw, 67vw" srcset="../images/chain-minimalism-p-500.webp 500w, ../images/chain-minimalism-p-800.webp 800w, ../images/chain-minimalism.webp 966w" class="blog_card-image"/></div><div class="blog_card-content"><h2 class="blog_card-title">A Return to Chain Minimalism</h2><a href="/blog/chain-minimalism" class="blog_link w-inline-block"><div class="blog_link-text">Read Article</div><svg fill="none" viewBox="0 0 11 11" xmlns="http://www.w3.org/2000/svg" class="blog_link-icon"><path d="M1.455 10.557.427 9.53l7.648-7.662H2.167L2.181.443h8.347v8.36H9.091l.013-5.907-7.649 7.661Z" fill="var(--theme--color-white)"></path></svg></a></div></div></div></div></div></div></div></div></section></main><footer class="footer"><div class="padding-global"><div class="container-large"><div class="footer_container"><a aria-label="Go to Homepage" href="/" class="w-inline-block"><svg fill="none" viewBox="0 0 305 70" xmlns="http://www.w3.org/2000/svg" class="footer_logo"><path d="M0 68.656h29.794v-8.834H9.96V1.35H0v67.306ZM69.388 1.35H52.873L35.61 68.656H45.9l4.316-16.826h21.33l4.315 16.826H86.65L69.388 1.35ZM52.292 43.416l8.631-34.83h.332l8.3 34.83H52.291ZM118.076 27.427h11.619C129.695 8.245 123.636 0 109.528 0 94.672 0 88.282 10.432 88.282 34.915c0 24.567 6.39 35.084 21.246 35.084 14.108 0 20.167-7.993 20.25-26.586h-11.619c-.083 14.555-1.826 18.173-8.631 18.173-7.802 0-9.71-5.3-9.627-26.67 0-21.286 1.908-26.587 9.627-26.503 6.805 0 8.548 3.786 8.548 19.014ZM158.069 0c15.105.085 21.578 10.601 21.578 35s-6.473 34.915-21.578 35c-15.188.084-21.661-10.433-21.661-35s6.473-35.084 21.661-35Zm-10.042 35c0 21.286 1.992 26.586 10.042 26.586 7.967 0 9.959-5.3 9.959-26.586 0-21.37-1.992-26.67-9.959-26.586-8.05.084-10.042 5.384-10.042 26.586ZM198.74 68.572l-9.959.084V1.35h17.511l16.35 54.855h.166V1.35h9.959v67.306h-16.432L198.906 9.595h-.166v58.977ZM254.391 1.35h-9.959v67.306h9.959V1.35ZM293.298 27.427h11.619C304.917 8.245 298.859 0 284.75 0c-14.856 0-21.246 10.432-21.246 34.915 0 24.567 6.39 35.084 21.246 35.084 14.109 0 20.167-7.993 20.25-26.586h-11.619c-.083 14.555-1.826 18.173-8.631 18.173-7.801 0-9.71-5.3-9.627-26.67 0-21.286 1.909-26.587 9.627-26.503 6.805 0 8.548 3.786 8.548 19.014Z" fill="var(--theme--color-white)"></path></svg></a><nav class="footer_menu"><a href="/products" class="footer_link primary">Products</a><a href="/partners" class="footer_link primary">Partners</a><a href="/community" class="footer_link primary">Community</a><div class="footer_social-container"><div class="footer_header">Connect</div><div class="footer_social-links tablet"><a aria-label="Visit our Twitter" href="https://twitter.com/laconicnetwork" target="_blank" class="social-link w-inline-block"><svg fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="footer_social-icon"><path d="M7.55016 21.3548c9.05434 0 14.00814-7.4471 14.00814-13.9033 0-.20936-.0047-.42337-.0141-.63273.9637-.69168 1.7953-1.54843 2.4558-2.52999-.8975.39631-1.8504.65515-2.8261.76765 1.0274-.61122 1.7966-1.57142 2.1652-2.7026-.9665.56851-2.0235.96954-3.1257 1.18591-.7426-.78315-1.7244-1.30169-2.7937-1.47544-1.0693-.17376-2.1665.00695-3.122.51417-.9554.50722-1.7159 1.31271-2.1639 2.29194-.4479.97922-.5584 2.07764-.3143 3.12543-1.95701-.09747-3.87156-.60206-5.61952-1.48104-1.74795-.87898-3.29029-2.11274-4.52701-3.62129-.62857 1.07562-.820913 2.34843-.53794 3.55975C1.418 7.66457 2.15506 8.7235 3.19641 9.41483c-.78178-.02463-1.54643-.23354-2.230785-.60947v.06048c-.0007 1.12879.392475 2.22296 1.112685 3.09656.72021.8736 1.72301 1.4727 2.83794 1.6955-.72419.1966-1.48427.2253-2.22141.0837.31461.9708.92673 1.8198 1.75093 2.4287.8242.6088 1.81935.9471 2.84657.9676-1.74392 1.3596-3.89817 2.0971-6.11578 2.0936C.783287 19.2309.390399 19.2069 0 19.1598c2.25286 1.4345 4.87353 2.1964 7.55016 2.195Z" fill="url(#:r12:)"></path><defs><linearGradient id=":r12:" x1="12" y1="2" x2="12" y2="21.3548" gradientUnits="userSpaceOnUse"><stop stop-color="currentColor"></stop><stop stop-color="currentColor" stop-offset="1"></stop></linearGradient></defs></svg></a><a aria-label="Join our Discord" href="https://discord.com/invite/ukhbBemyxY" target="_blank" class="social-link w-inline-block"><svg fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 33 26" class="footer_social-icon"><path d="M27.936 2.155A26.571 26.571 0 0 0 21.219.002a.1.1 0 0 0-.108.053c-.29.533-.611 1.229-.837 1.775a24.314 24.314 0 0 0-7.544 0 18.232 18.232 0 0 0-.85-1.775.105.105 0 0 0-.107-.053 26.497 26.497 0 0 0-6.717 2.153.097.097 0 0 0-.044.04C.733 8.8-.438 15.245.136 21.61c.003.03.02.06.043.08 2.823 2.142 5.557 3.443 8.24 4.305a.105.105 0 0 0 .116-.039c.635-.896 1.2-1.84 1.686-2.834a.11.11 0 0 0-.057-.15 17.773 17.773 0 0 1-2.574-1.269.111.111 0 0 1-.01-.181c.172-.134.345-.274.51-.414a.1.1 0 0 1 .107-.015c5.4 2.549 11.248 2.549 16.585 0a.099.099 0 0 1 .108.013c.165.141.338.282.512.416a.111.111 0 0 1-.01.181c-.821.497-1.676.916-2.575 1.267a.11.11 0 0 0-.055.152 22.854 22.854 0 0 0 1.684 2.833.103.103 0 0 0 .116.04c2.696-.862 5.43-2.163 8.253-4.305a.11.11 0 0 0 .043-.079c.688-7.358-1.153-13.75-4.88-19.415a.085.085 0 0 0-.042-.04Zm-16.909 15.58c-1.625 0-2.965-1.543-2.965-3.438 0-1.895 1.314-3.438 2.966-3.438 1.665 0 2.991 1.556 2.965 3.438 0 1.895-1.314 3.438-2.966 3.438Zm10.966 0c-1.626 0-2.966-1.543-2.966-3.438 0-1.895 1.314-3.438 2.966-3.438 1.665 0 2.992 1.556 2.966 3.438 0 1.895-1.301 3.438-2.966 3.438Z" fill="currentColor"></path></svg></a><a aria-label="Visit our Youtube Channel" href="https://www.youtube.com/@Laconic-Network" target="_blank" class="social-link w-inline-block"><svg fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30" class="footer_social-icon"><path d="M 15 4 C 10.814 4 5.3808594 5.0488281 5.3808594 5.0488281 L 5.3671875 5.0644531 C 3.4606632 5.3693645 2 7.0076245 2 9 L 2 15 L 2 15.001953 L 2 21 L 2 21.001953 A 4 4 0 0 0 5.3769531 24.945312 L 5.3808594 24.951172 C 5.3808594 24.951172 10.814 26.001953 15 26.001953 C 19.186 26.001953 24.619141 24.951172 24.619141 24.951172 L 24.621094 24.949219 A 4 4 0 0 0 28 21.001953 L 28 21 L 28 15.001953 L 28 15 L 28 9 A 4 4 0 0 0 24.623047 5.0546875 L 24.619141 5.0488281 C 24.619141 5.0488281 19.186 4 15 4 z M 12 10.398438 L 20 15 L 12 19.601562 L 12 10.398438 z" fill="currentColor" fill-rule="evenodd" clip-rule="evenodd"></path></svg></a><a aria-label="Chat with us on Telegram" href="https://t.me/laconicnetwork" target="_blank" class="social-link w-inline-block"><svg fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="footer_social-icon"><path d="M24 12c0 6.6274-5.3726 12-12 12-6.62742 0-12-5.3726-12-12C0 5.37258 5.37258 0 12 0c6.6274 0 12 5.37258 12 12ZM12.43 8.85893c-1.1672.48547-3.49986 1.49027-6.99811 3.01437-.56806.2259-.86563.4469-.89272.663-.04578.3652.41154.509 1.0343.7048.08471.0267.17248.0543.26247.0835.6127.1992 1.43689.4322 1.86535.4414.38865.0084.82244-.1518 1.30135-.4807 3.26856-2.2063 4.95576-3.32149 5.06166-3.34553.0747-.01696.1783-.03829.2485.02408.0701.06235.0632.18045.0558.21215-.0453.1931-1.8405 1.8621-2.7695 2.7258-.2896.2692-.495.4602-.537.5038-.0941.0977-.19.1902-.2821.279-.5692.5487-.99609.9602.0236 1.6322.49.3229.8822.5899 1.2733.8563.4273.291.8534.5812 1.4047.9426.1405.092.2746.1877.4053.2808.4972.3545.9438.6729 1.4957.6221.3206-.0295.6519-.331.8201-1.2302.3975-2.1253 1.1789-6.7299 1.3595-8.62743.0158-.16624-.0041-.379-.02-.4724-.016-.09339-.0494-.22646-.1708-.32497-.1438-.11666-.3658-.14126-.465-.13952-.4514.00795-1.1438.24874-4.4764 1.63485Z" fill="url(#:r13:)" clip-rule="evenodd" fill-rule="evenodd"></path><defs><linearGradient id=":r13:" x1="12" y1="2" x2="12" y2="24" gradientUnits="userSpaceOnUse"><stop stop-color="currentColor"></stop><stop stop-color="currentColor" stop-offset="1"></stop></linearGradient></defs></svg></a></div></div></nav></div><nav class="footer_subfooter"><p class="legal">Laconic: Offshore Hosting Made Easy</p><div class="footer_subfooter-links"><a href="/privacy-policy" class="footer_link">Privacy Policy</a><div class="theme-toggle_wrapper"><div id="toggle-label" class="footer_toggle-label">Dark Mode</div><a id="theme-toggle" aria-label="Toggle dark and light theme" href="#" class="footer_toggle w-inline-block"><div class="footer_toggle-circle"></div></a></div></div><div class="footer_social-links phone"><a aria-label="Follow us on Twitter" href="https://twitter.com/laconicnetwork" target="_blank" class="social-link w-inline-block"><svg fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="footer_social-icon"><path d="M7.55016 21.3548c9.05434 0 14.00814-7.4471 14.00814-13.9033 0-.20936-.0047-.42337-.0141-.63273.9637-.69168 1.7953-1.54843 2.4558-2.52999-.8975.39631-1.8504.65515-2.8261.76765 1.0274-.61122 1.7966-1.57142 2.1652-2.7026-.9665.56851-2.0235.96954-3.1257 1.18591-.7426-.78315-1.7244-1.30169-2.7937-1.47544-1.0693-.17376-2.1665.00695-3.122.51417-.9554.50722-1.7159 1.31271-2.1639 2.29194-.4479.97922-.5584 2.07764-.3143 3.12543-1.95701-.09747-3.87156-.60206-5.61952-1.48104-1.74795-.87898-3.29029-2.11274-4.52701-3.62129-.62857 1.07562-.820913 2.34843-.53794 3.55975C1.418 7.66457 2.15506 8.7235 3.19641 9.41483c-.78178-.02463-1.54643-.23354-2.230785-.60947v.06048c-.0007 1.12879.392475 2.22296 1.112685 3.09656.72021.8736 1.72301 1.4727 2.83794 1.6955-.72419.1966-1.48427.2253-2.22141.0837.31461.9708.92673 1.8198 1.75093 2.4287.8242.6088 1.81935.9471 2.84657.9676-1.74392 1.3596-3.89817 2.0971-6.11578 2.0936C.783287 19.2309.390399 19.2069 0 19.1598c2.25286 1.4345 4.87353 2.1964 7.55016 2.195Z" fill="url(#:r24:)"></path><defs><linearGradient id=":r24:" x1="12" y1="2" x2="12" y2="21.3548" gradientUnits="userSpaceOnUse"><stop stop-color="currentColor"></stop><stop stop-color="currentColor" stop-offset="1"></stop></linearGradient></defs></svg></a><a aria-label="Join us on Discord" href="https://discord.com/invite/ukhbBemyxY" target="_blank" class="social-link w-inline-block"><svg fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 33 26" class="footer_social-icon"><path d="M27.936 2.155A26.571 26.571 0 0 0 21.219.002a.1.1 0 0 0-.108.053c-.29.533-.611 1.229-.837 1.775a24.314 24.314 0 0 0-7.544 0 18.232 18.232 0 0 0-.85-1.775.105.105 0 0 0-.107-.053 26.497 26.497 0 0 0-6.717 2.153.097.097 0 0 0-.044.04C.733 8.8-.438 15.245.136 21.61c.003.03.02.06.043.08 2.823 2.142 5.557 3.443 8.24 4.305a.105.105 0 0 0 .116-.039c.635-.896 1.2-1.84 1.686-2.834a.11.11 0 0 0-.057-.15 17.773 17.773 0 0 1-2.574-1.269.111.111 0 0 1-.01-.181c.172-.134.345-.274.51-.414a.1.1 0 0 1 .107-.015c5.4 2.549 11.248 2.549 16.585 0a.099.099 0 0 1 .108.013c.165.141.338.282.512.416a.111.111 0 0 1-.01.181c-.821.497-1.676.916-2.575 1.267a.11.11 0 0 0-.055.152 22.854 22.854 0 0 0 1.684 2.833.103.103 0 0 0 .116.04c2.696-.862 5.43-2.163 8.253-4.305a.11.11 0 0 0 .043-.079c.688-7.358-1.153-13.75-4.88-19.415a.085.085 0 0 0-.042-.04Zm-16.909 15.58c-1.625 0-2.965-1.543-2.965-3.438 0-1.895 1.314-3.438 2.966-3.438 1.665 0 2.991 1.556 2.965 3.438 0 1.895-1.314 3.438-2.966 3.438Zm10.966 0c-1.626 0-2.966-1.543-2.966-3.438 0-1.895 1.314-3.438 2.966-3.438 1.665 0 2.992 1.556 2.966 3.438 0 1.895-1.301 3.438-2.966 3.438Z" fill="currentColor"></path></svg></a><a aria-label="Check out our Youtube Channel" href="https://www.youtube.com/@Laconic-Network" target="_blank" class="social-link w-inline-block"><svg fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30" class="footer_social-icon"><path d="M 15 4 C 10.814 4 5.3808594 5.0488281 5.3808594 5.0488281 L 5.3671875 5.0644531 C 3.4606632 5.3693645 2 7.0076245 2 9 L 2 15 L 2 15.001953 L 2 21 L 2 21.001953 A 4 4 0 0 0 5.3769531 24.945312 L 5.3808594 24.951172 C 5.3808594 24.951172 10.814 26.001953 15 26.001953 C 19.186 26.001953 24.619141 24.951172 24.619141 24.951172 L 24.621094 24.949219 A 4 4 0 0 0 28 21.001953 L 28 21 L 28 15.001953 L 28 15 L 28 9 A 4 4 0 0 0 24.623047 5.0546875 L 24.619141 5.0488281 C 24.619141 5.0488281 19.186 4 15 4 z M 12 10.398438 L 20 15 L 12 19.601562 L 12 10.398438 z" fill="currentColor" fill-rule="evenodd" clip-rule="evenodd"></path></svg></a><a aria-label="Chat with us on Telegram" href="https://t.me/laconicnetwork" target="_blank" class="social-link w-inline-block"><svg fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="footer_social-icon"><path d="M24 12c0 6.6274-5.3726 12-12 12-6.62742 0-12-5.3726-12-12C0 5.37258 5.37258 0 12 0c6.6274 0 12 5.37258 12 12ZM12.43 8.85893c-1.1672.48547-3.49986 1.49027-6.99811 3.01437-.56806.2259-.86563.4469-.89272.663-.04578.3652.41154.509 1.0343.7048.08471.0267.17248.0543.26247.0835.6127.1992 1.43689.4322 1.86535.4414.38865.0084.82244-.1518 1.30135-.4807 3.26856-2.2063 4.95576-3.32149 5.06166-3.34553.0747-.01696.1783-.03829.2485.02408.0701.06235.0632.18045.0558.21215-.0453.1931-1.8405 1.8621-2.7695 2.7258-.2896.2692-.495.4602-.537.5038-.0941.0977-.19.1902-.2821.279-.5692.5487-.99609.9602.0236 1.6322.49.3229.8822.5899 1.2733.8563.4273.291.8534.5812 1.4047.9426.1405.092.2746.1877.4053.2808.4972.3545.9438.6729 1.4957.6221.3206-.0295.6519-.331.8201-1.2302.3975-2.1253 1.1789-6.7299 1.3595-8.62743.0158-.16624-.0041-.379-.02-.4724-.016-.09339-.0494-.22646-.1708-.32497-.1438-.11666-.3658-.14126-.465-.13952-.4514.00795-1.1438.24874-4.4764 1.63485Z" fill="url(#:r25:)" clip-rule="evenodd" fill-rule="evenodd"></path><defs><linearGradient id=":r25:" x1="12" y1="2" x2="12" y2="24" gradientUnits="userSpaceOnUse"><stop stop-color="currentColor"></stop><stop stop-color="currentColor" stop-offset="1"></stop></linearGradient></defs></svg></a></div></nav></div></div></footer></div><script src="../js/jquery.js" type="text/javascript" ></script><script src="../js/webflow-script.js" type="text/javascript"></script><script>
|
||
|
||
|
||
|
||
const root = document.documentElement;
|
||
|
||
// Setup object to store all class and ID selectors
|
||
const setup = {
|
||
themeToggleButtons: document.querySelectorAll('#theme-toggle'),
|
||
lottiePaths: () => document.querySelectorAll('#nav-button svg path'),
|
||
toggleLabels: document.querySelectorAll('#toggle-label'),
|
||
themeColorVariable: '--theme--color-white'
|
||
};
|
||
|
||
|
||
// Update theme-dependant images
|
||
function updateImageSources() {
|
||
const images = document.querySelectorAll('img[data-src-dark]');
|
||
images.forEach(img => {
|
||
const currentTheme = root.getAttribute('data-theme');
|
||
const newSrc = currentTheme === 'dark' ? img.getAttribute('data-src-dark') : img.getAttribute('data-src-light');
|
||
img.setAttribute('src', newSrc);
|
||
});
|
||
}
|
||
|
||
// update theme dependant background images
|
||
function updateBackgroundImages() {
|
||
const elements = document.querySelectorAll('[data-bg-dark]');
|
||
elements.forEach(element => {
|
||
const currentTheme = root.getAttribute('data-theme');
|
||
const newBg = currentTheme === 'dark' ? element.getAttribute('data-bg-dark') : element.getAttribute('data-bg-light');
|
||
element.style.backgroundImage = `url(${newBg})`;
|
||
});
|
||
}
|
||
|
||
// Update lottie assets to match theme
|
||
function updateLottiePathColors() {
|
||
const paths = setup.lottiePaths();
|
||
if (paths.length > 0) {
|
||
paths.forEach(path => {
|
||
path.style.fill = `var(${setup.themeColorVariable})`;
|
||
});
|
||
}
|
||
}
|
||
|
||
function updateVideoVisibility() {
|
||
const darkVideo = document.querySelector('#background-video-dark');
|
||
const lightVideo = document.querySelector('#background-video-light');
|
||
|
||
if (darkVideo && lightVideo) {
|
||
const currentTheme = root.getAttribute('data-theme');
|
||
|
||
if (currentTheme === 'dark') {
|
||
darkVideo.style.display = 'block';
|
||
lightVideo.style.display = 'none';
|
||
} else {
|
||
darkVideo.style.display = 'none';
|
||
lightVideo.style.display = 'block';
|
||
}
|
||
} else {
|
||
console.log('No background video elements found on this page.');
|
||
}
|
||
}
|
||
|
||
// Theme toggle
|
||
function toggleTheme() {
|
||
const currentTheme = root.getAttribute('data-theme');
|
||
|
||
if (currentTheme === 'dark') {
|
||
root.setAttribute('data-theme', 'light');
|
||
localStorage.setItem('theme', 'light');
|
||
setup.toggleLabels.forEach(label => label.textContent = 'Light Mode');
|
||
} else {
|
||
root.setAttribute('data-theme', 'dark');
|
||
localStorage.setItem('theme', 'dark');
|
||
setup.toggleLabels.forEach(label => label.textContent = 'Dark Mode');
|
||
}
|
||
|
||
updateImageSources(); // Update images when the theme is toggled
|
||
updateLottiePathColors(); // Update Lottie colors when the theme is toggled
|
||
updateVideoVisibility() // Update background videos when theme is toggled
|
||
updateBackgroundImages(); // For background image swap
|
||
}
|
||
|
||
// Initialize the theme
|
||
function initializeTheme() {
|
||
const storedTheme = localStorage.getItem('theme');
|
||
|
||
// Set the initial theme
|
||
if (storedTheme) {
|
||
root.setAttribute('data-theme', storedTheme);
|
||
setup.toggleLabels.forEach(label => {
|
||
label.textContent = storedTheme === 'dark' ? 'Dark Mode' : 'Light Mode';
|
||
});
|
||
console.log(`Theme set to: ${storedTheme}`);
|
||
} else {
|
||
root.setAttribute('data-theme', 'dark');
|
||
setup.toggleLabels.forEach(label => label.textContent = 'Dark Mode');
|
||
console.log('Theme set to: dark');
|
||
}
|
||
|
||
updateImageSources();
|
||
updateLottiePathColors();
|
||
updateVideoVisibility()
|
||
updateBackgroundImages(); // For background image swap
|
||
}
|
||
|
||
// When page content is loaded
|
||
document.addEventListener('DOMContentLoaded', () => {
|
||
|
||
// Initialize the theme
|
||
initializeTheme();
|
||
|
||
// Add event listener to all theme toggle buttons
|
||
setup.themeToggleButtons.forEach(button => {
|
||
button.addEventListener('click', toggleTheme);
|
||
});
|
||
|
||
// Ensure Lottie path colors and image sources are updated on page load
|
||
window.addEventListener('load', () => {
|
||
updateLottiePathColors();
|
||
updateImageSources();
|
||
updateVideoVisibility()
|
||
});
|
||
|
||
});
|
||
|
||
|
||
|
||
</script></body></html> |