Avatar
degenrocket
b3a706bcceb39f193da553ce76255dd6ba5b097001c8ef85ff1b92e994894c81
Captain of Spasm: the endgame of social media. https://spasm.network 🔒 Privacy maximalist. ⚡ Lightning minimalist. 💻 FOSS only.

Yes, there are plans to add an RSS feed to Spasm forums, so users can follow podcasts using outdated tech as well. An RSS feed can be hacked to also include the whole Spasm event with signatures, allowing legacy tech that relies on RSS feeds like AntennaPod to transition to web3 whenever they feel ready.

The standard practice of storing your NPM token in a plain text file isn't just lazy; it's a security disaster waiting to happen. With NPM supply chain attacks becoming a regular event, leaving your NPM token unencrypted is like leaving a public dildo on your front porch. It's an open invitation to get fucked. Hard.

While the whole NPM ecosystem is slave tech that cannot be fixed, let's at least get some basic protection by encrypting access tokens.

Firstly, create a new NPM token and encrypt it with OpenSSL:

```

echo -n 'YOUR_NPM_TOKEN' | openssl enc -aes-256-cbc -a -salt -pbkdf2 -iter 1000000 > ~/.npm/tokens/.npmtoken-your-project.enc

```

Then, create a bash script to publish your NPM package using this encrypted token:

```

#!/bin/bash

cd ~/path/to/your/project/

# Prompt for the passphrase

read -s -p "Enter passphrase for .npmtoken-your-project.enc: " passphrase

# Decrypt the token

npm_token=$(openssl enc -aes-256-cbc -d -a -salt -pbkdf2 -iter 1000000 -pass pass:$passphrase -in ~/.npm/tokens/.npmtoken-your-project.enc)

# Check if the decryption was successful

if [ $? -ne 0 ]; then

echo "Decryption failed. Aborting."

exit 1

fi

echo "Token is decrypted."

# Assign the decrypted token to the NPM_TOKEN environment variable

export NPM_TOKEN="$npm_token"

# Make sure that authToken set to NPM_TOKEN in ~/.npmrc

# //registry.npmjs.org/:_authToken=${NPM_TOKEN}

# Use the NPM_TOKEN environment variable for npm publish

npm publish --registry https://registry.npmjs.org/

# Check the exit code of npm publish

if [ $? -eq 0 ]; then

echo "Package published successfully!"

else

echo "Error: npm publish failed."

exit 1

fi

# Clean up the token from the environment

unset NPM_TOKEN

echo "Done."

```

Next, save this script into `~/.local/bin/npm.publish.your-project` and make it executable.

```

chmod +x ~/.local/bin/npm.publish.your-project

```

Now you can publish your NPM package by executing this script, which will prompt you to enter your password:

```

npm.publish.your-project

```

By encrypting your token with OpenSSL, you're not removing the dildo from your porch, but at least you've put a lockbox on it. It's still a target, but now you've made the bastard work for it, which is more than most people can be bothered to do.

A genesis social contract, commonly referred to as a constitution, serves as the foundational document from which all other laws derive their legitimacy. In many societies, the constitution is the ultimate source of legal authority. However, the legitimacy of modern constitutions can be questioned.

For instance, the US Constitution, despite its historical significance, has faced scrutiny regarding its origins and the inclusivity of its authorship. As the second foundational document of the United States, it is the oldest written national constitution still in effect. The process of its creation and ratification was arguably more legitimate than in many other jurisdictions, involving extensive debate and compromise among the states. However, many libertarians argue that it remains an illegitimate document. Their claims are based on several key arguments.

Firstly, many anti-federalists did not agree with the new constitution, as evidenced by events like Washington's suppression of the anti-tax Whiskey Rebellion using militia. This highlights the internal conflicts and resistance to the centralized authority proposed by the constitution. There was significant resentment towards taxation, as people had recently fought a war against the British Empire for independence from the crown. The founding fathers then established a similar centralized authority, known as the federal government, with the power to tax people. Many saw this as a betrayal of the freedoms and principles outlined in the first constitution, known as the Articles of Confederation, fueling deep-seated opposition to the new constitutional framework.

Secondly, the right to secede was effectively denied when Lincoln's Union refused to allow the Confederacy to branch off during the Civil War. This denial of secession has been a contentious issue, with some arguing that it set a precedent for the forced unity of the states. Basically, denying people the right to leave.

Lastly, the constitution was agreed upon by a select group of people from the past, but their descendants never explicitly consented to it. For example, individuals born in the jurisdiction are forced to choose between paying federal taxes or leaving their homeland in search of a land of the free. This intergenerational imposition of governance raises questions about the legitimacy of the constitution in the eyes of those who did not explicitly agree to it.

While these issues are significant, this article will not delve into the options for creating a legitimate genesis social agreement or a pristine genesis. Instead, it focuses on the process of upgrading constitutions by proposing an alternative to the amendment process currently used in most nation-states, which often results in the tyranny of either the minority or the majority. This alternative aims to provide a more equitable and inclusive path for constitutional evolution, addressing the concerns of those who feel marginalized by the current system.

The process of upgrading a constitution is a contentious issue. Some individuals advocate for change, while others prefer to maintain the existing framework. Changing a constitution involves enforcing new rules on those who may disagree, which can lead to social and political tensions. This dynamic is akin to altering the rules of a game midway through, affecting all participants.

The solution proposed is an Immutable Genesis Social Contract. This concept allows for the existence of multiple versions of a constitution, each with its own set of rules. Some individuals can choose to adopt a new version, similar to how different versions of a software protocol, like Uniswap v2, v3, and v4, coexist. This approach provides flexibility and choice, allowing societies to evolve without imposing changes on those who prefer stability.

However, this solution faces its challenges. For example, the laws should be compatible enough to allow different groups live together within the same jurisdiction while adhering to different sets of rules. Historically, this has been the case, with rules often varying based on factors such as insurance coverage, wealth, residency status, religion, and even corruption. Additionally, differences in legal application based on race, gender, and age have been prevalent.

Another challenge is the potential for excessive legal divergence due to branching. To mitigate this, prioritizing simplicity and interoperability between different constitutional versions is crucial. This can be achieved by ensuring that new versions accept a significant portion of the laws from previous versions, thereby maintaining continuity and reducing fragmentation. Furthermore, the integration of AI can assist in navigating the complexities of a multi-constitutional legal landscape.

In conclusion, the immutable genesis social contract offers a framework for legal and social evolution, providing choices while maintaining order. It addresses the challenges of coexistence under different legal systems and the potential for legal fragmentation, paving the way for a more adaptable and inclusive governance model. This framework helps restore and maintain freedom of association, ensuring that individuals are not compelled to live under rules they do not agree with, thereby fostering a consent-based society where diverse groups can coexist harmoniously.

- On September 21st, the SPASM token was officially launched, marking a pivotal moment in the five-year evolution of the Spasm ecosystem

https://forum.spasm.network/news/spasmid0168fa37f818a60ddaa8af6

- Authors can now manually submit the same event to multiple instances through UI

- All Spasm repos moved to https://github.com/spasm-network

- DegenRocket forum rebranded as Spasm forum

- Updated docs website https://docs.spasm.network

- Added more tests and fixes to Spasm forum and spasm.js

- The Battle of Virtuals Genesis Launch https://forum.spasm.network/news/spasmid014663badac2438303d5f5f

- New video about Spasm history

https://media.spasm.network/spasmvi01f316a39a710c2bef7288a8f8485876c48a87ede8f4f23941d4577c05617101ee.mp4

- New video about web3 auth vs Spasm-powered direct signing

https://media.spasm.network/spasmvi0154b262c75008c8314b1aab4167533be1de92cd958591af7f0f75602bb7524434.mp4

- Spasm.js v2.0.0 moved to release candidate status https://www.npmjs.com/package/spasm.js

- Added Spasm hashes for media files.

- Images can now be embedded by simply adding image URL to a new line (can be disabled via env).

- Added more tests and fixes to DegenRocket web/server and spasm.js

What an epic battle!

Launching on Virtuals was a bold move, as the platform is primary designed for AI agent launches, while Spasm is an infrastructure project. Yet, we recognized the potential and embraced the risk.

After years of development, it was truly amazing to see how many of you jumped in during the first ten minutes of the genesis launch, meaning that you were waiting for the launch. We were there with you, playing together as one team.

It was a tight race against the clock. In the first 5 hours, which was 20% of the allowed time, we made it to approximately the 20% mark of the target. That was a neck-and-neck battle.

However, as the clock struck the 10-hour mark, it became clear that time was not on our side. Yet, in the final hour, it was incredibly uplifting to see the surge of support, with a significant amount of tokens pledged, as people were still trying to win the lost battle.

This match had strict rules: 24 hours, 566 Virtuals ($650) max from each address. Many whales committed the maximum allowed amount of 566 Virtuals, which means the outcome could have been different if we had chosen a different launch option, allowing more tokens per address. But history remembers only the paths we chose.

The 400 Spasmers stood tall at the Virtuals Genesis Launchpad. For 24 hours, they held the line tirelessly, defending the very essence of decentralized freedom. In the annals of blockchain, the names of those 400 brave souls are inscribed forever. Their contributions will surely be acknowledged in the chapters yet to come.

https://basescan.org/address/0xea6327935b9a8295334b4fd06b3c786f0eb784fe

What's next?

We've been in this fight for half a decade, and we're far from done. We try, we fail, we learn, and we try again. We grow stronger with each attempt. Until we win, we persist, we adapt, and we overcome.

During the preparation for the Virtuals Genesis Launch, we forged new alliances that will stand with us on our challenging journey. And we found you, our partners in this quest. This is just the beginning.

We thank all participants; your commitment means a lot to us. We congratulate other teams that succeeded in the genesis launch, and we feel for those who didn't. Lastly, we thank the Virtuals team for the amazing opportunity to play this match and get more exposure.

The Spasm ecosystem is now stronger than ever, with more people discovering it and more communities eager to join. We're excited to continue our collaboration with the Virtuals team, exploring potential Spasm integration.

We will take a few days to reflect on the recent events and plan our next move.

Initially, we intended to launch on the Ethereum mainnet and decided to use a cutting-edge Virtuals launchpad, as they announced in June that Ethereum had become a viable option for genesis launches. However, it turned out to be a special deal for a specific project, leaving us with no other option but to attempt to launch on Base.

Ethereum, being the most decentralized smart contract platform, offers a more secure and censorship-resistant environment with greater liquidity for launching a token, and with the flexibility to bridge to different L2s and other blockchains like Base and Solana. Thus, we will now explore options to launch independently on Ethereum and keep you informed through our official channels.

Forum: https://forum.spasm.network

Twitter: https://x.com/SpasmNetwork

Nostr web: primal

nostr:npub1kwnsd0xwkw03j0d92088vf2a66a9kztsq8ywlp0lrwfwn9yffjqspcmr0z

Session: degenrocket

Send us a message on Session to join our group chat. Session is one the most privacy-focused apps with decentralized infrastructure that doesn't require any email address or phone numbers.

Stay tuned for the announcement.

Spasm is the endgame of social media. Join the future!

Spasm V2 npm library has been stable for over a year and can be used by any projects, but we plan to keep it in a 'release candidate' state for a while to align with semantic versioning and avoid introducing breaking changes in minor releases, as too many projects do.

Thanks. Significant effort was put into research and development, leading to many iterations of the protocol, which meant the network was not ready for expansion until around 2025. We then explored various growth opportunities and launchpads, which took a lot of time. After thorough testing and choosing Virtuals launchpad, we're finally ready to enter the expansion stage.

The airdrop strategy will be determined over the next few months and may involve multiple rounds to reward existing participants, attract new ones, and expand the ecosystem, potentially including instance operators, code contributors, moderators, community managers, regular users, long-term genesis token holders, and even active participants from other ecosystems.

Correct, Rebelnet was active in 2024, but it has been down for a long time.

Following a half-decade of development, Spasm is now entering a new stage of expansion. To accelerate ecosystem growth and attract more attention, Spasm is leveraging the AI agents-focused Virtuals launchpad. Join the future.

https://app.virtuals.io/geneses/7657

After a year of rigorous testing, Spasm.js v2.0.0 is stepping up from beta to release candidate status. Introduced in 2024, the new version brought groundbreaking features like multi-signing, propelling social media into the future. Now, it's your turn to test and shape the final version!

https://www.npmjs.com/package/spasm.js

---

The Signer and Protocol Agnostic Social Media (Spasm) is the future of social media. It's the only truly open ecosystem, which is agnostic to signing keys, messaging protocols, transport layers, and storage infrastructure. Users are able to sign messages with any private key of their choice and trigger the propagation of those messages in any network they want via any transport protocol, or even all at once.

The Spasm network consists of independent self-hosted interoperable instances run by DAOs, local communities, and other freedom seekers who want to escape censorship and surveillance of centralized platforms.

The Spasm ecosystem is the next generation in the evolution of social media after various signature-based decentralized ecosystems like Secure Scuttlebutt (SSB), Steem/Hive, Nostr, Farcaster, Lens, Bluesky, etc.

Connect your Ethereum or Nostr browser extension and join the future of social media.

> not your keys, not your words

Check out the latest in the Spasm ecosystem:

- New Spasm forum is up: https://forum.spasm.network

- Official website refreshed with new sections: https://spasm.network

- Docs expanded with new pages and FAQs: https://docs.spasm.network

- More slides added to presentation: https://slides.spasm.network

- DegenRocket web/server and spasm.js npm library got new tests and fixes: https://github.com/degenrocket

Plus, we're eyeing Virtuals Genesis Launch to boost the ecosystem: https://forum.spasm.network/news/spasmid0126e98616d9a04eeb399bc

We're looking into leveraging an existing launchpad to get more attention and grow the Spasm ecosystem, while keeping things independent and avoiding the traditional routes of VCs and grants, which usually compromise privacy and project autonomy.

Spasm has been under development for over four years, but the ecosystem could really use a boost to hit the next level. We think that a launchpad could be the perfect catalyst.

Out of all the launchpads, the Virtuals ecosystem stands out as the top contender, because it provides an excellent opportunity to integrate Spasm-powered solutions into the emerging agentic economy.

What are your thoughts on the Virtuals ecosystem and ideas about Spasm tokenomics? From token use cases and initial allocations to airdrops, let's hear your thoughts!

You can now find all Spasm-related announcements and submit your feedback, ideas, feature requests, bug reports, and share memes on the official forum at https://forum.spasm.network

SimplifiedPrivacy runs a Spasm-powered forum, you can read the same thread on its website, as well as on other federated Spasm instances, with replies from both Spasm and Nostr networks.

https://forum.simplifiedprivacy.com/news/spasmid01f91e058945409d9f80140

Yes, Spasm is open source. It has been in development since 2021 and it's currently the most advanced generation of decentralized social media. You can find all the links at the official website https://spasm.network

Great news! I'd also add that https://forum.simplifiedprivacy.com now supports multi-signing similar to other Spasm instances, allowing users to sign the same message with different private keys and different messaging protocols and send it to different networks, while still having the same deterministic Spasm ID, meaning that all reactions and replies can be properly chained to the parent event regardless of the network they came from.

Why would anybody sign a message with multiple keys? For example, you want to get benefits from different ecosystems. Non-unique usernames can be fetched from Nostr meta events (kind 0), while unique usernames can be fetched from blockchain-based NFT-powered naming services like ENS. Nostr users can follow you on Nostr, while Ethereum users can follow you on Lens, Farcaster, and other Ethereum-based social media platforms.

Nostr is definitely a better solution, but it's still a closed ecosystem.

- Nostr locks you to one specific private key.

- Nostr locks you to one specific messaging protocol.

- All native Nostr apps support only one network.

- Most Nostr users use native mobile apps, which don't provide much freedom to e.g. sign arbitrary messages like web3 browser extensions.

- Nostr's most popular npm package 'nostr-tools' doesn't even expose a function to sign arbitrary messages, which is the most basic expectation of pretty much any other web3 library.

- The most popular Nostr app, Damus, is literally an iOS app.

- The Nostr network is pretty centralized.

AI agents and their devs will eventually choose Spasm since it's the only truly open ecosystem due to its unique agnostic architecture.

> It would be nice if there was a business model for nodes and node competition at the protocol level.

No, that's a recipe for creating a closed ecosystem that limits freedoms and stifles innovation similar to having a strong federal government that sets all the rules like requiring all devices to have a USB-C port.

Unlike Nostr or other decentralized social media solutions, Spasm is the future of social media because it's the only fully agnostic open ecosystem that doesn't limit developers or users.