当前位置: 首页 > 软件库 > Web3 > 开源货币/比特币 >

joule-extension

Lightning payments extension for Chrome
授权协议 MIT License
开发语言 Python
所属分类 Web3、 开源货币/比特币
软件类型 开源软件
地区 不详
投 递 者 谭梓
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Joule, get it now at lightningjoule.com

Overview

A chrome extension that lightning-charges your browser withwebln, giving youthe ability to pay and use your node as an identity on the web.

WARNING: Joule is in early alpha, and should not be used for large mainnet funds

Install for Chrome Install for Brave Install for Firefox Opera coming soon

Project Layout

joule-extension/
├── src                   # All source code
│   ├── app                 # The main React app, used by the other clients
│   │   ├── index.tsx         # Entry point for the app
│   │   ├── AppRoutes.tsx     # Routes used in the popup and options clients
│   │   ├── PromptRoutes.tsx  # Routes used in the prompt client
│   │   ├── components        # All reusable components
│   │   ├── lib               # Standalone libraries, potentially split into node modules
│   │   ├── modules           # Vertical slices of business logic, mostly redux code
│   │   ├── pages             # Container components for app routes
│   │   ├── prompts           # Container components for prompts
│   │   ├── static            # Static assets that are compiled and processed
│   │   ├── store             # Redux setup and configuration
│   │   ├── style             # Global or common-use styles
│   │   ├── typings           # Module typings for TypeScript
│   │   └── utils             # Miscellanious utility functions and constants
│   ├── background_script  # Extension background script
│   ├── content_script     # Extension content script, injects inpage_script and communicates with background_script
│   ├── inpage_script      # In-page injected script, manages WebLN
│   ├── options            # Options client, full screen version of the app
│   ├── popup              # Popup client, opened by clicking icon in toolbar
│   ├── prompt             # Prompt client, opened by WebLN and BOLT-11 links
│   └── webln              # WebLN implementation, injected via inpage_script
├── static             # Static assets that don't go through any processing
├── dist-dev           # Developer builds go here, not checked into git
└── dist-prod          # Production builds go here, not checked into git

Development

  1. Run yarn install && yarn run dev
  2. Open Chrome -> More Tools -> Extensions
  3. Toggle "Developer mode" (if such a toggle exists)
  4. Click "Load unpacked"
  5. Select the joule-extension/dist-dev folder you created
  6. Get to work!

If you're also working on webln, you'llwant to clone and build that repository, and run yarn link. Then come backto the joule folder and run yarn link webln.

NOTE: After making changes, you'll need to close and re-open the extension to load the latest build.

Redux DevTools:

  1. Open the extension popup or full page
  2. Right click on the background
  3. Choose Redux Devtools -> Open Remote DevTools
  4. A new window will open displaying the Redux actions list

React DevTools:

  1. Run npm install -g react-devtools
  2. Be sure to use yarn run dev to build the app
  3. Run react-devtools in a new Terminal
  4. A new window will open displaying the React vdom inspector

React Hot Reload:

  1. Run yarn run hot instead of yarn run dev

Building

To make a production build, follow these steps

  1. Run yarn build
  2. Raw files and a zip of them will be output to dist-prod

Releasing

  1. Bump the version number in package.json and static/manifest.json
  2. Create a git tag called v${version} and push it
  3. Run a build
  4. Make a new Github release, upload the build assets, write a changelog
  5. Upload the built zip to the Chrome developer dashboard, Firefox addons site, and Opera addons site

Testing

...regrettably, TBD

Contributing

Please see the Contributor Guidelines on the Wiki.

Shoutouts

  • Thanks to the MetaMask team for establishinga ton of the UX best practices for browser crypto payments.
  • Thanks to @afilini for providing a small prototypereference implementation of the extension flow.
  • Thanks to Chaincode Labs for putting together the 2018Lightning residency, where this was born.

Pay me money pls


My pubkey starts with 02458b08

  • In mathematics, particularly in algebra, a field extension is a pair of fields {\displaystyle E\subseteq F,}{\displaystyle E\subseteq F,} such that the operations of E are those of F restricted to E.

  • 1.extension(扩展) 扩展为现有的类,结构体,枚举类型,或协议添加了新功能.这也包括了为无访问权限的源代码扩展类型的能力(即所谓的逆向建模) 扩展和OC的中category类似.(与OC的分类不同的是,Swift的扩展没有名字) 2.extension的能力 1.添加计算实例属性和计算类型属性 2.定义实例方法和类型方法 3.提供新初始化器 4.定义下标 5.定义和使用新内嵌类型 6.使

  • /*  Implementation notes:  - An OOP style is used where each "class" is made up of a struct and a number of functions prefixed with the struct name.  - struct fields that are const are readonly. Eithe

  • 本文整理匯總了Python中stevedore.extension.Extension方法的典型用法代碼示例。如果您正苦於以下問題:Python extension.Extension方法的具體用法?Python extension.Extension怎麽用?Python extension.Extension使用的例子?那麽恭喜您, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解

  • React-Extension 一、挂载渲染API改变 ​ react 18 import React from "react"; import { createRoot } from 'react-dom/client'; import App from './App'; const container = document.getElementById('root'); createRoot