Repository files navigation

LivepeerJS


DiscordCircleCICode Climatelicensecode style: prettierCommitizen friendlylernaContributions welcome

The Livepeer project aims to deliver a live video streaming network protocol that is fully decentralized, highly scalable, crypto token incentivized, and results in a solution which can serve as the live media layer in the decentralized development (web3) stack. You can learn more about the protocol and economic incentives by reading our whitepaper.

This monorepo contains JavaScript tools and applications that interact with Livepeer's smart contracts and peer-to-peer network.

Table of Contents

Requirements

This project requires node >=8.0.0 and yarn >=1.0.0. A unix shell is also required.

Getting Started

To get started, clone the repo and install its dependencies

git clone https://github.com/livepeer/livepeerjs.git
cd livepeerjs
yarn

For next steps, take a look at documentation for the individual package(s) you want to run and/or develop.

Contributing

Thanks for your interest in LivepeerJS. There are many ways you can contribute. To start, take a few minutes to look over the official guide:

Read the "Contributing to LivepeerJS" Guide »

We happily await your pull requests and/or involvement in our issues page and hope to see your username on our list of contributors 🎉🎉🎉

Packages

Published

Name Version Description
@livepeer/chromanpmA component library that contains some UI building blocks for livestreaming video applications.
@livepeer/graphql-sdknpmA GraphQL API that can be used to simplify protocol interaction. It can be used directly in the browser or in node.js applications.
@livepeer/lpxnpmA command line protocol explorer. It has a console mode that allows you to interactively use the sdk.
@livepeer/sdknpmA module for interacting with Livepeer's smart contracts. A core dependency of most LivepeerJS projects.

Private

NameDescription
@livepeer/apolloIntegrates with @livepeer/graphql-sdk with apollo.
@livepeer/explorerA protocol explorer for the web. It allows users to see general information about the protocol and specific information about Eth addresses within the protocol. See it live at explorer.livepeer.org
@livepeer/playerA video player for the web. Lets you see what's live streaming on the network. Our hosted media player runs off of this project. See it live at media.livepeer.org

Resources

To get a full idea of what Livepeer is about, be sure to take a look at these other resources:

About

JavaScript tools and applications that interact with Livepeer's smart contracts and peer-to-peer network

Resources

Code of conduct

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

LivepeerJS


DiscordCircleCICode Climatelicensecode style: prettierCommitizen friendlylernaContributions welcome

The Livepeer project aims to deliver a live video streaming network protocol that is fully decentralized, highly scalable, crypto token incentivized, and results in a solution which can serve as the live media layer in the decentralized development (web3) stack. You can learn more about the protocol and economic incentives by reading our whitepaper.

This monorepo contains JavaScript tools and applications that interact with Livepeer's smart contracts and peer-to-peer network.

Table of Contents

Requirements

This project requires node >=8.0.0 and yarn >=1.0.0. A unix shell is also required.

Getting Started

To get started, clone the repo and install its dependencies

git clone https://github.com/livepeer/livepeerjs.git
cd livepeerjs
yarn

For next steps, take a look at documentation for the individual package(s) you want to run and/or develop.

Contributing

Thanks for your interest in LivepeerJS. There are many ways you can contribute. To start, take a few minutes to look over the official guide:

Read the "Contributing to LivepeerJS" Guide »

We happily await your pull requests and/or involvement in our issues page and hope to see your username on our list of contributors 🎉🎉🎉

Packages

Published

Name Version Description
@livepeer/chromanpmA component library that contains some UI building blocks for livestreaming video applications.
@livepeer/graphql-sdknpmA GraphQL API that can be used to simplify protocol interaction. It can be used directly in the browser or in node.js applications.
@livepeer/lpxnpmA command line protocol explorer. It has a console mode that allows you to interactively use the sdk.
@livepeer/sdknpmA module for interacting with Livepeer's smart contracts. A core dependency of most LivepeerJS projects.

Private

NameDescription
@livepeer/apolloIntegrates with @livepeer/graphql-sdk with apollo.
@livepeer/explorerA protocol explorer for the web. It allows users to see general information about the protocol and specific information about Eth addresses within the protocol. See it live at explorer.livepeer.org
@livepeer/playerA video player for the web. Lets you see what's live streaming on the network. Our hosted media player runs off of this project. See it live at media.livepeer.org

Resources

To get a full idea of what Livepeer is about, be sure to take a look at these other resources:

About

JavaScript tools and applications that interact with Livepeer's smart contracts and peer-to-peer network

Resources

Code of conduct

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

LivepeerJS


DiscordCircleCICode Climatelicensecode style: prettierCommitizen friendlylernaContributions welcome

The Livepeer project aims to deliver a live video streaming network protocol that is fully decentralized, highly scalable, crypto token incentivized, and results in a solution which can serve as the live media layer in the decentralized development (web3) stack. You can learn more about the protocol and economic incentives by reading our whitepaper.

This monorepo contains JavaScript tools and applications that interact with Livepeer's smart contracts and peer-to-peer network.

Table of Contents

Requirements

This project requires node >=8.0.0 and yarn >=1.0.0. A unix shell is also required.

Getting Started

To get started, clone the repo and install its dependencies

git clone https://github.com/livepeer/livepeerjs.git
cd livepeerjs
yarn

For next steps, take a look at documentation for the individual package(s) you want to run and/or develop.

Contributing

Thanks for your interest in LivepeerJS. There are many ways you can contribute. To start, take a few minutes to look over the official guide:

Read the "Contributing to LivepeerJS" Guide »

We happily await your pull requests and/or involvement in our issues page and hope to see your username on our list of contributors 🎉🎉🎉

Packages

Published

Name Version Description
@livepeer/chromanpmA component library that contains some UI building blocks for livestreaming video applications.
@livepeer/graphql-sdknpmA GraphQL API that can be used to simplify protocol interaction. It can be used directly in the browser or in node.js applications.
@livepeer/lpxnpmA command line protocol explorer. It has a console mode that allows you to interactively use the sdk.
@livepeer/sdknpmA module for interacting with Livepeer's smart contracts. A core dependency of most LivepeerJS projects.

Private

NameDescription
@livepeer/apolloIntegrates with @livepeer/graphql-sdk with apollo.
@livepeer/explorerA protocol explorer for the web. It allows users to see general information about the protocol and specific information about Eth addresses within the protocol. See it live at explorer.livepeer.org
@livepeer/playerA video player for the web. Lets you see what's live streaming on the network. Our hosted media player runs off of this project. See it live at media.livepeer.org

Resources

To get a full idea of what Livepeer is about, be sure to take a look at these other resources:

About

JavaScript tools and applications that interact with Livepeer's smart contracts and peer-to-peer network

Resources

Code of conduct

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

LivepeerJS


DiscordCircleCICode Climatelicensecode style: prettierCommitizen friendlylernaContributions welcome

The Livepeer project aims to deliver a live video streaming network protocol that is fully decentralized, highly scalable, crypto token incentivized, and results in a solution which can serve as the live media layer in the decentralized development (web3) stack. You can learn more about the protocol and economic incentives by reading our whitepaper.

This monorepo contains JavaScript tools and applications that interact with Livepeer's smart contracts and peer-to-peer network.

Table of Contents

Requirements

This project requires node >=8.0.0 and yarn >=1.0.0. A unix shell is also required.

Getting Started

To get started, clone the repo and install its dependencies

git clone https://github.com/livepeer/livepeerjs.git
cd livepeerjs
yarn

For next steps, take a look at documentation for the individual package(s) you want to run and/or develop.

Contributing

Thanks for your interest in LivepeerJS. There are many ways you can contribute. To start, take a few minutes to look over the official guide:

Read the "Contributing to LivepeerJS" Guide »

We happily await your pull requests and/or involvement in our issues page and hope to see your username on our list of contributors 🎉🎉🎉

Packages

Published

Name Version Description
@livepeer/chromanpmA component library that contains some UI building blocks for livestreaming video applications.
@livepeer/graphql-sdknpmA GraphQL API that can be used to simplify protocol interaction. It can be used directly in the browser or in node.js applications.
@livepeer/lpxnpmA command line protocol explorer. It has a console mode that allows you to interactively use the sdk.
@livepeer/sdknpmA module for interacting with Livepeer's smart contracts. A core dependency of most LivepeerJS projects.

Private

NameDescription
@livepeer/apolloIntegrates with @livepeer/graphql-sdk with apollo.
@livepeer/explorerA protocol explorer for the web. It allows users to see general information about the protocol and specific information about Eth addresses within the protocol. See it live at explorer.livepeer.org
@livepeer/playerA video player for the web. Lets you see what's live streaming on the network. Our hosted media player runs off of this project. See it live at media.livepeer.org

Resources

To get a full idea of what Livepeer is about, be sure to take a look at these other resources:

About

JavaScript tools and applications that interact with Livepeer's smart contracts and peer-to-peer network

Resources

Code of conduct

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

LivepeerJS


DiscordCircleCICode Climatelicensecode style: prettierCommitizen friendlylernaContributions welcome

The Livepeer project aims to deliver a live video streaming network protocol that is fully decentralized, highly scalable, crypto token incentivized, and results in a solution which can serve as the live media layer in the decentralized development (web3) stack. You can learn more about the protocol and economic incentives by reading our whitepaper.

This monorepo contains JavaScript tools and applications that interact with Livepeer's smart contracts and peer-to-peer network.

Table of Contents

Requirements

This project requires node >=8.0.0 and yarn >=1.0.0. A unix shell is also required.

Getting Started

To get started, clone the repo and install its dependencies

git clone https://github.com/livepeer/livepeerjs.git
cd livepeerjs
yarn

For next steps, take a look at documentation for the individual package(s) you want to run and/or develop.

Contributing

Thanks for your interest in LivepeerJS. There are many ways you can contribute. To start, take a few minutes to look over the official guide:

Read the "Contributing to LivepeerJS" Guide »

We happily await your pull requests and/or involvement in our issues page and hope to see your username on our list of contributors 🎉🎉🎉

Packages

Published

Name Version Description
@livepeer/chromanpmA component library that contains some UI building blocks for livestreaming video applications.
@livepeer/graphql-sdknpmA GraphQL API that can be used to simplify protocol interaction. It can be used directly in the browser or in node.js applications.
@livepeer/lpxnpmA command line protocol explorer. It has a console mode that allows you to interactively use the sdk.
@livepeer/sdknpmA module for interacting with Livepeer's smart contracts. A core dependency of most LivepeerJS projects.

Private

NameDescription
@livepeer/apolloIntegrates with @livepeer/graphql-sdk with apollo.
@livepeer/explorerA protocol explorer for the web. It allows users to see general information about the protocol and specific information about Eth addresses within the protocol. See it live at explorer.livepeer.org
@livepeer/playerA video player for the web. Lets you see what's live streaming on the network. Our hosted media player runs off of this project. See it live at media.livepeer.org

Resources

To get a full idea of what Livepeer is about, be sure to take a look at these other resources:

About

JavaScript tools and applications that interact with Livepeer's smart contracts and peer-to-peer network

Resources

Code of conduct

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

LivepeerJS


DiscordCircleCICode Climatelicensecode style: prettierCommitizen friendlylernaContributions welcome

The Livepeer project aims to deliver a live video streaming network protocol that is fully decentralized, highly scalable, crypto token incentivized, and results in a solution which can serve as the live media layer in the decentralized development (web3) stack. You can learn more about the protocol and economic incentives by reading our whitepaper.

This monorepo contains JavaScript tools and applications that interact with Livepeer's smart contracts and peer-to-peer network.

Table of Contents

Requirements

This project requires node >=8.0.0 and yarn >=1.0.0. A unix shell is also required.

Getting Started

To get started, clone the repo and install its dependencies

git clone https://github.com/livepeer/livepeerjs.git
cd livepeerjs
yarn

For next steps, take a look at documentation for the individual package(s) you want to run and/or develop.

Contributing

Thanks for your interest in LivepeerJS. There are many ways you can contribute. To start, take a few minutes to look over the official guide:

Read the "Contributing to LivepeerJS" Guide »

We happily await your pull requests and/or involvement in our issues page and hope to see your username on our list of contributors 🎉🎉🎉

Packages

Published

Name Version Description
@livepeer/chromanpmA component library that contains some UI building blocks for livestreaming video applications.
@livepeer/graphql-sdknpmA GraphQL API that can be used to simplify protocol interaction. It can be used directly in the browser or in node.js applications.
@livepeer/lpxnpmA command line protocol explorer. It has a console mode that allows you to interactively use the sdk.
@livepeer/sdknpmA module for interacting with Livepeer's smart contracts. A core dependency of most LivepeerJS projects.

Private

NameDescription
@livepeer/apolloIntegrates with @livepeer/graphql-sdk with apollo.
@livepeer/explorerA protocol explorer for the web. It allows users to see general information about the protocol and specific information about Eth addresses within the protocol. See it live at explorer.livepeer.org
@livepeer/playerA video player for the web. Lets you see what's live streaming on the network. Our hosted media player runs off of this project. See it live at media.livepeer.org

Resources

To get a full idea of what Livepeer is about, be sure to take a look at these other resources:

About

JavaScript tools and applications that interact with Livepeer's smart contracts and peer-to-peer network

Resources

Code of conduct

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

LivepeerJS


DiscordCircleCICode Climatelicensecode style: prettierCommitizen friendlylernaContributions welcome

The Livepeer project aims to deliver a live video streaming network protocol that is fully decentralized, highly scalable, crypto token incentivized, and results in a solution which can serve as the live media layer in the decentralized development (web3) stack. You can learn more about the protocol and economic incentives by reading our whitepaper.

This monorepo contains JavaScript tools and applications that interact with Livepeer's smart contracts and peer-to-peer network.

Table of Contents

Requirements

This project requires node >=8.0.0 and yarn >=1.0.0. A unix shell is also required.

Getting Started

To get started, clone the repo and install its dependencies

git clone https://github.com/livepeer/livepeerjs.git
cd livepeerjs
yarn

For next steps, take a look at documentation for the individual package(s) you want to run and/or develop.

Contributing

Thanks for your interest in LivepeerJS. There are many ways you can contribute. To start, take a few minutes to look over the official guide:

Read the "Contributing to LivepeerJS" Guide »

We happily await your pull requests and/or involvement in our issues page and hope to see your username on our list of contributors 🎉🎉🎉

Packages

Published

Name Version Description
@livepeer/chromanpmA component library that contains some UI building blocks for livestreaming video applications.
@livepeer/graphql-sdknpmA GraphQL API that can be used to simplify protocol interaction. It can be used directly in the browser or in node.js applications.
@livepeer/lpxnpmA command line protocol explorer. It has a console mode that allows you to interactively use the sdk.
@livepeer/sdknpmA module for interacting with Livepeer's smart contracts. A core dependency of most LivepeerJS projects.

Private

NameDescription
@livepeer/apolloIntegrates with @livepeer/graphql-sdk with apollo.
@livepeer/explorerA protocol explorer for the web. It allows users to see general information about the protocol and specific information about Eth addresses within the protocol. See it live at explorer.livepeer.org
@livepeer/playerA video player for the web. Lets you see what's live streaming on the network. Our hosted media player runs off of this project. See it live at media.livepeer.org

Resources

To get a full idea of what Livepeer is about, be sure to take a look at these other resources:

About

JavaScript tools and applications that interact with Livepeer's smart contracts and peer-to-peer network

Resources

Code of conduct

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

LivepeerJS


DiscordCircleCICode Climatelicensecode style: prettierCommitizen friendlylernaContributions welcome

The Livepeer project aims to deliver a live video streaming network protocol that is fully decentralized, highly scalable, crypto token incentivized, and results in a solution which can serve as the live media layer in the decentralized development (web3) stack. You can learn more about the protocol and economic incentives by reading our whitepaper.

This monorepo contains JavaScript tools and applications that interact with Livepeer's smart contracts and peer-to-peer network.

Table of Contents

Requirements

This project requires node >=8.0.0 and yarn >=1.0.0. A unix shell is also required.

Getting Started

To get started, clone the repo and install its dependencies

git clone https://github.com/livepeer/livepeerjs.git
cd livepeerjs
yarn

For next steps, take a look at documentation for the individual package(s) you want to run and/or develop.

Contributing

Thanks for your interest in LivepeerJS. There are many ways you can contribute. To start, take a few minutes to look over the official guide:

Read the "Contributing to LivepeerJS" Guide »

We happily await your pull requests and/or involvement in our issues page and hope to see your username on our list of contributors 🎉🎉🎉

Packages

Published

Name Version Description
@livepeer/chromanpmA component library that contains some UI building blocks for livestreaming video applications.
@livepeer/graphql-sdknpmA GraphQL API that can be used to simplify protocol interaction. It can be used directly in the browser or in node.js applications.
@livepeer/lpxnpmA command line protocol explorer. It has a console mode that allows you to interactively use the sdk.
@livepeer/sdknpmA module for interacting with Livepeer's smart contracts. A core dependency of most LivepeerJS projects.

Private

NameDescription
@livepeer/apolloIntegrates with @livepeer/graphql-sdk with apollo.
@livepeer/explorerA protocol explorer for the web. It allows users to see general information about the protocol and specific information about Eth addresses within the protocol. See it live at explorer.livepeer.org
@livepeer/playerA video player for the web. Lets you see what's live streaming on the network. Our hosted media player runs off of this project. See it live at media.livepeer.org

Resources

To get a full idea of what Livepeer is about, be sure to take a look at these other resources:

About

JavaScript tools and applications that interact with Livepeer's smart contracts and peer-to-peer network

Resources

Code of conduct

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages