A better place to discuss Bitcoin.

Overview

stacker.news

Stacker News is a Lightning powered Bitcoin news site modelled after Hacker News (which is modelled after Reddit). The intent is to create a better place to discuss Bitcoin.

stack

The site is written in javascript using Next.js, a React framework. The backend API is provided via graphql. The database is postgresql modelled with prisma. We use lnd for the lightning node which we connect to through a tor http tunnel. A customized Bootstrap theme is used for styling.

processes

There are two. 1. the web app and 2. walletd, which checks and polls lnd for all pending invoice/withdrawl statuses in case the web process dies.

wallet transaction safety

To ensure user balances are kept sane, all wallet updates are run in serializable transactions at the database level. Because prisma has relatively poor support for transactions all wallet touching code is written in plpgsql stored procedures and can be found in the prisma/migrations folder.

code

The code is linted with standardjs.

contributing

Pull requests are welcome. Please submit feature requests and bug reports through issues.

license

MIT

Comments
  • Trying to setup login locally

    Trying to setup login locally

    I am trying to get login setup for my local dev environment, I copied the sample .env file and updated the Twitter credentials. Then I tried logging in using the Twitter button while running locally. But it is not working, am I missing a step?

    opened by secondl1ght 13
  • Add WebLN

    Add WebLN

    Wallet providers use a protocol (https://webln.dev/) to make sending lightning payments less cumbersome is my understanding. It'd be nice to support this.

    opened by huumn 9
  • Implements rss feed

    Implements rss feed

    Related to https://github.com/stackernews/stacker.news/issues/16

    A SSR solution for a RSS feed:

    • feed has latest items (live)
    • each request impacts server (load)

    It's also possible to use a SSG solution (ex: /public/rss.xml file):

    • static file, no load on the server (faster)
    • xml file is only created on build time (delay)

    Note, I was not able to properly test the query.

    opened by bordalix 8
  • Support other currencies

    Support other currencies

    Hey! Thanks for your website, I have really fallen in love with it and visit it every day!

    But I missed a user setting to choose the preferred currency, so I added it; open source ftw! :smile: (closes #103)

    I have only added EUR, but other currencies which coinbase supports are easy to add. Just add it together with the symbol to CURRENCY_SYMBOLS in components/price.js.

    At first, I wanted to use a dropdown to choose the currency in the settings, but I didn't found a dropdown I could reuse, so I just went with a text input first.

    Please tell me if you like it and if I should adapt anything :+1:

    opened by ekzyis 7
  • Unable to login locally

    Unable to login locally

    Despite editing .env.sample with both my Github and LND (using Polar) credentials it's still crashing every time I try to login locally and throwing this error: "Unhandled Runtime Error Error: Invalid URL: <YOUR PUBLIC TUNNEL TO LOCALHOST, e.g. NGROK>"

    image
    opened by AustinKelsay 7
  • Clarify that

    Clarify that "n sats per min" in jobs board is NOT the wage / compensation being offered for the job

    There's WAY too many people who are confusing the "n sats per min" in the jobs board as being the wage being offered for the job.

    • Exhibit A: https://stacker.news/items/24097
    • Exhibit B: https://t.me/TheSimplyBitcoinChannel/52231

    Related discussion:

    Perhaps there needs to be a prefix (e.g., listing fee: n sats per min) or that being shown under column of its own -- with a title, or perhaps some other way to explain to what that references.

    https://stacker.news/items/24144

    opened by cointastical 6
  • Onion address

    Onion address

    Some folks may feel better if stacker.news are available via onion (Tor) network. It can also help in your search for decentralization as Tor now has Onionbalance to distribute the service on multiple hosts while serving it over one onion link.

    opened by jsarenik 6
  • Easy/fun UI for deciding how many sats to tip

    Easy/fun UI for deciding how many sats to tip

    Tapping the bolt icon is awesome, super easy. I love it. It feels good!

    Often I wanna tip more (in fact most of the time), but the text input sucks. Tapping and swiping is fun, typing on keyboard sucks, it kills the fun. I'm not good at designing UIs, but I wonder if someone could think of a fun way of doing this... maybe some swiping, maybe a wheel that pops up if you hold the bolt and then you swipe how much you wanna tip...

    opened by philosopher-phaedrus 5
  • [Feature request] - More detailed documentation/info

    [Feature request] - More detailed documentation/info

    1. FAQ page. You need to give more information about how to use this and fees applied, votes etc
    2. Using the free credits to post - OK. But after posting those, it doesn't say how much I need to pay for a new post.
    3. It should be also available the option to just pay a LN invoice for a new paid post, if I do not have enough funds in wallet
    opened by Darth-Coin 5
  • Image/link fee has `x` which makes it look like it's per image/link, and not a flat rate for posts with links or images

    Image/link fee has `x` which makes it look like it's per image/link, and not a flat rate for posts with links or images

    I noticed that my posting fee didn't go up when adding extra images and links, which is what I expected because of the x in front of the fee:

    Screen Shot 2022-08-19 at 11 53 42 AM

    Maybe it should be a +?

    opened by casey 4
  • Wrong amount for earnings in profile and 404 when clicking on row

    Wrong amount for earnings in profile and 404 when clicking on row

    I noticed the following bug:

    On the profile page, the stacked amount for earnings is displayed wrong:

    2022-08-15-210239_1920x1080_scrot

    I did not receive so many sats. I think this is the total amount of sats that was earned by everyone in this round.

    Also, when clicking on that row, it leads to a 404 page at https://stacker.news/items/76326:

    2022-08-15-210312_1920x1080_scrot

    Not sure where it should lead to, but I think a 404 is not intended :smile:

    opened by ekzyis 4
  • Broken images in comments trigger unnecessary re-renders

    Broken images in comments trigger unnecessary re-renders

    When folks post broken image links, the comment section gets fully re-rendered when renders are triggered (e.g. cache updates via upvotes or other stuff).

    This can probably be avoidable by using callback and memo hooks.

    opened by huumn 0
  • Improve privacy by not accessing Coinbase API directly

    Improve privacy by not accessing Coinbase API directly

    It appears Coinbase is getting my IP address every time I access Stacker News.

    Specifically a GET request is occurring for the "spot" price: https://api.coinbase.com/v2/prices/BTC-USD/spot

    I think this could be handled by proxy where the API request from the browser goes to a Stacker.News endpoint, and then Stacker.News sends an API request to Coinbase.

    opened by cointastical 1
  • Youtube dup detection finding random matches with other Youtube links

    Youtube dup detection finding random matches with other Youtube links

    An attempt to post the following link: https://youtube.com/watch?v=e9XqnDDl14Q

    results in the following to be shown as dupes: https://youtube.com/watch?v=CX1F4BHhkQs https://youtube.com/watch?v=WqDvsbElFXg https://youtube.com/watch?v=wTC31ZI6QM4

    I can't account for why this would occur. Incidentally, this issue does not persist when the link has the www. subdomain.

    opened by cointastical 1
  • For dup detection with Youtube shortened links, ignore query string

    For dup detection with Youtube shortened links, ignore query string

    For example, dup detection should (I believe) determine the following to be a duplicate of each other: https://youtu.be/aBC123Def45 https://youtu.be/aBC123Def45?t=123

    Dup detection is properly seeing a duplicate when the post is for a regular Youtube link (and not the URL shortener): https://www.youtube.com/watch?v=aBC123Def45 https://www.youtube.com/watch?v=aBC123Def45&t=123

    It's possible this was some unwanted side-effect when implementing a fix for Issue #62.

    opened by cointastical 2
  • www Subdomain alone is being treated as a link

    www Subdomain alone is being treated as a link

    Posting www. (www and period) by itself gets linkified, even though it is not a valid URL.

    Example: https://stacker.news/items/36755

    (happens here with markdown on Github as well, so not sure if it can be easily fixed, or should be even.)

    opened by cointastical 0
Owner
Stacker News
Discuss bitcoin and stack sats
Stacker News
Bitcoin terminal tracker is a terminal app which allow you to track bitcoin price from your terminal

BTC Terminal Tracker Bitcoin terminal tracker is a terminal app which allow you to track bitcoin price from your terminal. In this version (V1.2) I ch

Sina yeganeh 9 Jul 27, 2022
Papers from the computer science community to read and discuss.

Papers We Love (PWL) is a community built around reading, discussing and learning more about academic computer science papers. This repository serves

Papers We Love 66.8k Dec 31, 2022
A MERNG social volunteering app. Host, attend, discuss, and later verify volunteer events and good deeds, earning Kindly Points as you help.

KINDLY: Be Good to Your Neighbors! Fig 1: The entire homepage for a logged-in user! TABLE OF CONTENTS Description Installation Usage Technologies Cont

Brent Gaines 7 Jan 27, 2022
Reddit Place Tracer is a browser based userscript for the 2022 Reddit /r/Place project

Reddit Place Tracer is a browser based userscript for the 2022 Reddit /r/Place project which adds a transparent image on top of the canvas to aid communities with drawing the same image. It shows how the canvas should look, where each pixel goes, and what color. The user must manually click on these spots. It is not an automated bot and does not break any rules.

null 3 Apr 3, 2022
OnePiece /r/place repo to store the template and script for outlining the place to put titles

onepiece-place OnePiece /r/place repo to store the template and script for outlining the place to put titles This script & repo are cloned from Antice

Lopeh 11 Apr 9, 2022
The /r/place Atlas is a project aiming to catalog all the artworks created during Reddit's 2022 /r/place event.

The 2022 Place Atlas The /r/place Atlas is a project aiming to catalog all the artworks created during Reddit's 2022 /r/place event. This project was

Place Atlas 397 Dec 28, 2022
A multi-purpose assistant bot for Discord to make your server a better place.

━━━━━━ ❖ ━━━━━━ Rieko ?? FEATURES To be filled. ?? TIP JAR If you enjoyed it and would like to show your appreciation, you may want to tip me here. It

Jan Leigh Muñoz 3 May 23, 2022
This is a place to define better practices in code.

Better Practices Categories Angular General Programming GitHub Pages JavaScript Naming Conventions React Influence This guide is heavily influenced by

Bob Fornal 18 Sep 3, 2022
Free, open-source crypto trading bot, automated bitcoin / cryptocurrency trading software, algorithmic trading bots. Visually design your crypto trading bot, leveraging an integrated charting system, data-mining, backtesting, paper trading, and multi-server crypto bot deployments.

Free, open-source crypto trading bot, automated bitcoin / cryptocurrency trading software, algorithmic trading bots. Visually design your crypto trading bot, leveraging an integrated charting system, data-mining, backtesting, paper trading, and multi-server crypto bot deployments.

Superalgos 3.1k Jan 1, 2023
A javascript Bitcoin library for node.js and browsers.

BitcoinJS (bitcoinjs-lib) A javascript Bitcoin library for node.js and browsers. Written in TypeScript, but committing the JS files to verify. Release

bitcoinjs 4.8k Jan 1, 2023
A full stack for bitcoin and blockchain-based applications

Bitcore Infrastructure to build Bitcoin and blockchain-based applications for the next generation of financial technology. Getting Started Requirement

BitPay 4.5k Jan 4, 2023
It is a very basic implementation of how blockchain works, mainly how the bitcoin blockchain.

How to run this program npm install node core/blockchain.js What is this It is a very basic implementation of how blockchain works, mainly how the bit

Anish Jain 12 May 9, 2022
Bitcoin thin client for iOS & Android. Built with React Native Google Colab

Run bluewallet-Google-Colab https://colab.research.google.com/drive/1OShIMVcFZ_khsUIBOIV1lzrqAGo1gfm_?usp=sharing Thin Bitcoin Wallet. Built with Reac

DE MINING 0 Feb 25, 2022
A wrapper for a mercado bitcoin!

About A library developed from the bitcoin marketplace api! With it you can check values of cryptos, tokens and ntfs Usage const cripto = require('mer

mr.boby 4 Oct 25, 2022
A port of bitcoin-core that will (over time) become TS friendly.

bitcoin-core A modern Bitcoin Core REST and RPC client to execute administrative tasks, multiwallet operations and queries about network and the block

null 6 Nov 22, 2022
A website for tracking community support for BIP21 QR codes that support on-chain and lightning bitcoin payments.

BIP21 Microsite This is a WIP microsite to promote the usage of a BIP21 payment URI QR code that can include lightning invoices or offers. Wallet supp

Stephen DeLorme 16 Nov 27, 2022
MultiSafe is a shared crypto wallet for managing Stacks (STX) and Bitcoin (BTC).

MultiSafe MultiSafe is a shared crypto wallet for managing Stacks (STX) and Bitcoin (BTC). Deploy a MultiSafe https://app.multisafe.xyz/ Features Curr

Trust Machines 22 Dec 26, 2022
Fixed-point math for Bitcoin Script

bsv-fixmath Fixed-point implementations of exp, log, root and pow for Bitcoin SV. This repo contains two equivalent implementations, one in Typescript

Vala 5 Oct 18, 2022
tao-web implements the tao-wallet npm package to let you swap between Bitcoin and USD.

tao-web tao-web implements the tao-wallet npm package to let you swap between Bitcoin and USD. tao-wallet currently utilizes the LN Markets API so all

Steven Ellis 7 Nov 12, 2022
OSI helps you to track your all open-source Internships and Program in a single place ⚡

Open Source Internships Overview ?? Dark Theme Light Theme Run locally ?? Fork this repo. open-source-internships ?? Clone the repo. ⏬ git clone https

Rohan kumar 39 Jan 2, 2023