├── README.md ├── apps ├── readme.md └── stackchainTotal.cpp ├── images ├── chain_link2.png ├── genesis.png ├── stackchain-logo.png ├── stackchain-logo.psd ├── stackchain-logo.tif └── stackchain-new-logo.png ├── sips ├── sip-0001.txt ├── sip-0002.txt ├── sip-0003.txt ├── sip-0004.txt └── sip-0010.txt └── web └── readme.md /README.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | # Stackchain 4 | 5 | What is Stackchain? 6 | 7 | Simply put, Stackchain is buying bitcoin consecutively with other Bitcoiners. We’re all buying bitcoin, right? We know that bitcoin is the hardest money in the world and we’re already going to be buying as much as we can, so why not gamify it a little bit, have some fun, and be social with your fellow bitcoin plebs. 8 | 9 | In layman's terms: 10 |
"it's just fun and shitposting with a little bit of bitcoin lingo thrown in to make it more fun as we shitpost as we buy bitcoin." 11 |

12 | Derek Ross, Stackchain height $234
13 | 14 | Stackchain was born completely organically when AriZonanHODL decided to buy $5 of bitcoin and see if anyone else wanted to buy a little with him. Someone replied with a $6 purchase. Next, someone replied to that $6 purchase with a $7 purchase. Then, someone replied to that purchase with an $8 purchase. These consecutive purchases kept coming in, iterating one after another, growing the chain of purchases, expanding the amount of bitcoin that was being purchased. Eventually, many bitcoin plebs fell in love with the idea of stacking bitcoin consecutively with one another, growing their stack, acquiring more bitcoin, all the while growing the chain of posts on the original Twitter thread. And thus, Stackchain was born. 15 | 16 | How do I participate? 17 | 18 | Anyone and everyone that wants to buy bitcoin can participate in Stackchain. The only requirement is that you want to expand your stack. Even if you only have a very small amount of fiat available, you can still have your purchase included in Stackchain. 19 | 20 | Before you make your bitcoin purchase, you need to determine the current block height. Once the current block height has been found, you need to determine if you want to buy an entire block yourself or if you want to do a Stackjoin and join your stack with other’s stacks to purchase an entire block together. 21 | 22 | To find the current block height, you can search Twitter for the latest hashtag #StackchainTip, to find the current block height or tip. You can also join our Telegram channel and ask users in there if you’re having trouble determining the current tip on Twitter. This can sometimes be confusing if there are lots of miners trying to get their transactions included in the Stackchain all at once, especially if we’re approaching an iconic or notable block height. 23 | 24 | Once the current height has been determined and you’re planning on purchasing an entire block yourself, you will need to buy that amount of bitcoin. For example, if the current block height (the last confirmed and most recent verified amount purchased) is $599 USD, then the next purchase will need to be $600 USD. After your purchase, you will need to post a screenshot of that purchase to the chain. If you post your screenshot as a reply to an incorrect post, you run the risk of creating a fork in the chain, and someone else may claim your block on the correct chain. It’s important to verify you’re on the correct chain before posting. Once your screenshot is posted, other Stackchain participants will validate your transaction or multiple transactions, if you purchased multiple blocks in a row. This sometimes happens around iconic and notable block heights, as Stackers aim to etch their purchase into the Stackchain and claim these special numbers for themselves. 25 | 26 | If you are unable to purchase an entire Stackchain block yourself (meaning if the current height is $599, but you only are able to make a $1 to $599 purchase, you can post your screenshot on the main chain and still participate. You will need to specify that you are looking to do a Stackjoin by using the #Stackjoin hashtag. This will let other Stackers know that your purchase is available for them to use to complete an upcoming block. This also gets your transaction entered into the Mempool where it will sit until it’s utilized by other Stackers. 27 | 28 | While Stackchain doesn’t have many rules, Stackchain does have some standards that have been proposed by the community, discussed, voted on, and implemented. These are referred to as SIPs or Stackchain Improvement Proposals. All of the Stackchain SIPs are outlined on the Stackchain GitHub repository. 29 | 30 | Current SIPs such as SIP-0003 and SIP-004 have been implemented to outline the Stackjoin process and to prevent Stackers from double-spending transactions. 31 | 32 |
33 | Stackchain FAQs 34 |

35 | What are iconic or notable block heights? 36 | 37 | These are usually complete whole numbers, three numbers that are the same, or any other number that is referenced in pop-culture. i.e.: 38 | 39 | 21, 69, 100, 111, 200, 222, 256, 300, 333, 400, 404, 420, 444, 500, 555, 600, 666, etc. 40 | 41 | What if my fiat currency isn’t USD? 42 | 43 | You can still participate. Since the originating Genesis Block was completed in USD, all consecutive purchases are denominated in USD. If you do not use USD, you can still participate, you just need to do the conversion from AUD, CAN, GBP, EUR, etc. into USD for your purchase. 44 | 45 | Does Stackchain have leadership? 46 | 47 | Stackchain is a living and breathing chain without leadership, though many Stackers choose to help out as much as possible by collectively maintaining or working on various aspects of Stackchain from verifying transactions, to writing SIPs, to holding discussion Spaces, to organizing the Mempool, to writing documentation, everyone has an equal share of say and the Stackchain ecosystem as a whole governs itself. 48 | 49 | What’s the goal of Stackchain? 50 | 51 | To have fun while buying as much bitcoin as possible. 52 |
53 | Glossary of Stackchain Terms 54 |

55 | 80 |
81 | Other Resources 82 |

83 | Stackchain’s Layer 2 - The LightStack Network 84 | Stackchain has a Layer 2 solution that helps bring conversations off of the main chain and into a different layer. We use a Twitter Community to accomplish this. The community can be used for memes, posting questions, Stackjoins, and all things Stackchain. Originally Mempool management was done on Layer 2, but we’ve since moved the majority of Mempool management over to our Sidechain. 85 |

86 | Stackchain’s Sidechain - Telegram/Matrix 87 | We set up a Telegram and Matrix channel that are bridged together to allow Stackers to collaborate together more easily in an easily followed and searchable manner. We use Telegram to talk about Stackchain, discuss upcoming SIPs, post transactions that need a Stackjoin, discuss forks and orphaned transactions, and manage the Mempool. 88 |

89 | -------------------------------------------------------------------------------- /apps/readme.md: -------------------------------------------------------------------------------- 1 | future home of stackchain apps from our core devs 2 | -------------------------------------------------------------------------------- /apps/stackchainTotal.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | int START=5; 3 | int END=1641; 4 | int main(int argc, char **argv) 5 | { 6 | int start,end; 7 | if(argc>=3) 8 | { 9 | start = atoi(argv[1]); end= atoi(argv[2]); 10 | } 11 | else 12 | { 13 | start=START; end=END; 14 | } 15 | 16 | if(start>=end || start<=0) 17 | { 18 | std::cerr << "Start must be > 0 and > end" << std::endl; 19 | return 2; 20 | } 21 | int total = ((end)*(end+1)) / 2; 22 | total -= ((start-1)*(start)) / 2; 23 | 24 | std::cout << "Total = " << total << std::endl; 25 | return 0; 26 | } 27 | -------------------------------------------------------------------------------- /images/chain_link2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackchainsats/stackchain/5afd37f3ee101304cb09d42210996037f842a469/images/chain_link2.png -------------------------------------------------------------------------------- /images/genesis.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackchainsats/stackchain/5afd37f3ee101304cb09d42210996037f842a469/images/genesis.png -------------------------------------------------------------------------------- /images/stackchain-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackchainsats/stackchain/5afd37f3ee101304cb09d42210996037f842a469/images/stackchain-logo.png -------------------------------------------------------------------------------- /images/stackchain-logo.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackchainsats/stackchain/5afd37f3ee101304cb09d42210996037f842a469/images/stackchain-logo.psd -------------------------------------------------------------------------------- /images/stackchain-logo.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackchainsats/stackchain/5afd37f3ee101304cb09d42210996037f842a469/images/stackchain-logo.tif -------------------------------------------------------------------------------- /images/stackchain-new-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackchainsats/stackchain/5afd37f3ee101304cb09d42210996037f842a469/images/stackchain-new-logo.png -------------------------------------------------------------------------------- /sips/sip-0001.txt: -------------------------------------------------------------------------------- 1 | SIP: 0001 2 | LAYER: Consensus 3 | TITLE: NEWSTACK 4 | AUTHOR: Derek Ross (twitter.com/derekmross) 5 | STATUS: Rejected 6 | TYPE: Standards Track 7 | CREATED: 2022-7-20 8 | 9 | ABSTRACT 10 | 11 | On July 18, 2022 at 7:07 PM, @AriZonanHODL purchased a $5 USD stack worth of bitcoin. He then asked if others would "feel free to join" him. His followers and bitcoin plebs around Twitter started to join in, purchasing their own inidividual stacks of bitcoin, and incrementally increasing the purchase price of the stack by $1 USD for each individual's purchase. Over time, the stack size grew, making bitcoin plebs with little fiat readily available able to particpate. This Stackchain Improvement Proposal (SIP-0001) aims to allow those additional plebs to particpate by creating a NEWSTACK sidechain. Each NEWSTACK must be numbered and approved by the majority of the longest chain of the Stackchain. 12 | 13 | PROCESS 14 | 15 | To Create a NEWSTACK, a pleb must follow this process: 16 | 1) Visit the @AriZonanHODL Stackchain thread located at 'https://twitter.com/AriZonanHODL/status/1549169119924080640'. 17 | 2) Find the current Stack Height of the Stackchain. (i.e. $200 USD) 18 | 3) Find the current approved NEWSTACK. (i.e. NEWSTACK0001) 19 | 4) Reply to the highest Stack Height Tweet with a request to create a NEWSTACK. (i.e. Requesting approval to start NEWSTACK0001, because I'm alow on dry powder.) 20 | 5) Reply to the highest NEWSTACK found with a request to create a NEWSTACK. (i.e. See above example.) 21 | 6) Once approved, start a new NEWSTACK sidechain of Stackchain on their own Twitter profile. 22 | 7) Link back to the OP announcing the NEWSTACK sidechain Genesis Post. 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /sips/sip-0002.txt: -------------------------------------------------------------------------------- 1 | SIP: 0002 2 | LAYER: Consensus 3 | TITLE: Pooling 4 | AUTHOR: Semisol (twitter.com/semisol_public) 5 | STATUS: Superseded 6 | SUPERSEDED-BY: SIP-0003 7 | TYPE: Standards Track 8 | CREATED: 2022-7-20 9 | 10 | ABSTRACT 11 | 12 | Individual plebs may not have enough money to participate in the next stack, and may prefer pooling with other plebs to publish the next stack. 13 | 14 | PROCESS 15 | 16 | To pool money for the next stack, the following procedure should be followed: 17 | 1) Visit the @AriZonanHODL Stackchain thread located at 'https://twitter.com/AriZonanHODL/status/1549169119924080640', or the NEWSTACK of your choice. 18 | 2) Find the current Stack Height of the Stackchain. (i.e. $200 USD) 19 | 3) Reply with your intentions to start pooling, and attach an image of your Bitcoin purchase as your initial contribution. 20 | 4) Wait until the amount contributed is equal to the latest tip height. If the tip moves after the proposal is submitted, the threshold is moved too. 21 | 5) Submit a new stack with all contributions 22 | 23 | To contribute to a pool: 24 | 1) Make sure your contribution would not bring the pool above the current height. 25 | 2) Make the purchase of your contribution amount. 26 | 3) Reply to the pooling proposal with the image of your purchase. 27 | -------------------------------------------------------------------------------- /sips/sip-0003.txt: -------------------------------------------------------------------------------- 1 | SIP: 0003 2 | LAYER: Consensus 3 | TITLE: Stackjoin 4 | AUTHOR: Semisol (twitter.com/semisol_public) 5 | STATUS: Active 6 | SUPERSEDES: SIP-0002 7 | TYPE: Standards Track 8 | CREATED: 2022-7-20 9 | 10 | ABSTRACT 11 | 12 | Plebs may want to attach another purchase to their or others' orphaned stacks, or pool together funds to produce a stack. 13 | 14 | PROCESS 15 | 16 | To start a Stackjoin (pooled): 17 | 1) Visit the @AriZonanHODL Stackchain thread located at 'https://twitter.com/AriZonanHODL/status/1549169119924080640', or the NEWSTACK of your choice. 18 | 2) Find the current Stack Height of the Stackchain. (i.e. $200 USD) 19 | 3) Reply with your intentions to start pooling, and attach an image of your Bitcoin purchase as your initial contribution. 20 | 4) Wait until the amount contributed is equal to the latest tip height. The threshold adjusts with the tip height. 21 | 5) Follow the steps on how to publish a Stackjoin 22 | 23 | To contribute to a Stackjoin: 24 | 1) Make sure your contribution would not bring the pool above the current height. 25 | 2) Make the purchase of your contribution amount. 26 | 3) Reply to the Stackjoin proposal with the image of your purchase (orphaned stacks can be included). 27 | 28 | How to publish a Stackjoin: 29 | 1a) (pooled) Collect all contributions. 30 | 1b) (unpooled) Link to all original posts. This is required to prevent double spends. 31 | 2) Publish a reply to the tip of the current stackchain (the original Stackchain or a NEWSTACK) with all pictures of purchases. 32 | -------------------------------------------------------------------------------- /sips/sip-0004.txt: -------------------------------------------------------------------------------- 1 | SIP: 0004 2 | LAYER: Consensus 3 | TITLE: DOUBLE SPEND PREVENTION 4 | AUTHOR: Derek Ross (twitter.com/derekmross) 5 | STATUS: Active 6 | TYPE: Standards Track 7 | CREATED: 2022-7-20 8 | 9 | ABSTRACT 10 | 11 | At times, the Stackchain can get very busy with a multitude of transactions coming through. These can be regular full stacks or partial Stackjoins. When the network gets congested, we run the risk of double spending. This SIP aims to stop double spending from happening. 12 | 13 | PROCESS 14 | 15 | 1) Any purchase that's 3 hours older than the originating Tweet will be rejected unless proof is provided that it was orphaned or published by another pleb. 16 | 2) Screenshots or pictures with date and time visible are strongly recommended when the app does not provide a date or time. 17 | 3) Stackjoins do not have a time limit on purchases. 18 | a) Nodes should still verify the timestamps for stackjoin posts. 19 | b) This rule cannot be used to evade rule #1 with intent to prebuy. 20 | -------------------------------------------------------------------------------- /sips/sip-0010.txt: -------------------------------------------------------------------------------- 1 | SIP: 0010 2 | LAYER: Consensus Layer 3 | TITLE: Protocol for Bitcoin miners to mine Stackchain blocks. 4 | AUTHOR: Semisol 5 | STATUS: Active 6 | TYPE: Standards Track 7 | CREATED: 2022-09-12 8 | 9 | ABSTRACT 10 | This SIP defines how a Bitcoin miner may mine a block in the Stackchain. 11 | 12 | PROCESS 13 | 1) A Bitcoin miner that wants to mine a Stackchain block should announce their intentions on the Stackchain. They should note down the post link to their announcement. 14 | 2) The miner can continue mining Bitcoin, while recording the power draw, electricity price ($/kWH) and money spent on miner electricity costs. 15 | 3) At the end of this period, the miner should publish: 16 | - A link to their starting post 17 | - How much was spent in total 18 | - How many miners they operated 19 | - How much Bitcoin they obtained 20 | in a reply to end the process. 21 | 4) The miner should submit (if requested) a redacted screenshot of their withdrawal. 22 | 5) If nodes reject the results, the miner should provide the electricity price and power draw information for further validation. 23 | If you did not note down this information, the process starts from zero. 24 | 6) After the published data was verified, a Stackchainer should provide a receipt to the miner with basic information about the process. This receipt can be used like any other in Stackjoins or mining blocks. 25 | -------------------------------------------------------------------------------- /web/readme.md: -------------------------------------------------------------------------------- 1 | future home of stackchain website from our web devs 2 | --------------------------------------------------------------------------------