From 2f9cb754019acffe62b72b1d9097b666308a3ec1 Mon Sep 17 00:00:00 2001 From: David Dal Busco Date: Fri, 18 Jul 2025 14:45:51 +0200 Subject: [PATCH 1/8] feat: remove white-paper Signed-off-by: David Dal Busco --- .../index.mdx | 3 +- .../architecture.md | 0 .../infrastructure.md | 0 docs/miscellaneous/wallet.md | 2 +- docs/miscellaneous/workarounds.md | 2 +- docs/terminology.md | 4 +- docs/troubleshooting.md | 2 +- docs/white-paper/business-model.mdx | 40 ------- docs/white-paper/competitors.mdx | 105 ------------------ docs/white-paper/conclusion.md | 14 --- docs/white-paper/costs-challenges.md | 7 -- docs/white-paper/intro.mdx | 19 ---- docs/white-paper/market-size.md | 5 - docs/white-paper/open-source.md | 52 --------- docs/white-paper/problems-statement.md | 33 ------ docs/white-paper/roadmap.mdx | 98 ---------------- docs/white-paper/solution.md | 59 ---------- docs/white-paper/target-audience.md | 11 -- docs/white-paper/use-cases.md | 41 ------- docs/white-paper/validation.md | 20 ---- docs/white-paper/what-is-juno.mdx | 31 ------ docusaurus.config.ts | 6 - sidebars.ts | 18 --- 23 files changed, 6 insertions(+), 566 deletions(-) rename docs/{white-paper => miscellaneous}/architecture.md (100%) rename docs/{white-paper => miscellaneous}/infrastructure.md (100%) delete mode 100644 docs/white-paper/business-model.mdx delete mode 100644 docs/white-paper/competitors.mdx delete mode 100644 docs/white-paper/conclusion.md delete mode 100644 docs/white-paper/costs-challenges.md delete mode 100644 docs/white-paper/intro.mdx delete mode 100644 docs/white-paper/market-size.md delete mode 100644 docs/white-paper/open-source.md delete mode 100644 docs/white-paper/problems-statement.md delete mode 100644 docs/white-paper/roadmap.mdx delete mode 100644 docs/white-paper/solution.md delete mode 100644 docs/white-paper/target-audience.md delete mode 100644 docs/white-paper/use-cases.md delete mode 100644 docs/white-paper/validation.md delete mode 100644 docs/white-paper/what-is-juno.mdx diff --git a/blog/2024-09-03-building-tomorrow-juno-build-dao-for-the-future/index.mdx b/blog/2024-09-03-building-tomorrow-juno-build-dao-for-the-future/index.mdx index 0305bd67..5603200d 100644 --- a/blog/2024-09-03-building-tomorrow-juno-build-dao-for-the-future/index.mdx +++ b/blog/2024-09-03-building-tomorrow-juno-build-dao-for-the-future/index.mdx @@ -44,7 +44,7 @@ The white paper has been updated to continue presenting the vision; however, the ::: -I’ve put together a [white paper](/docs/white-paper/intro) that outlines the reasoning and vision I have for a Juno Build DAO. I highly recommend giving it a read to fully understand what I’m aiming to achieve. +I’ve put together a white paper that outlines the reasoning and vision I have for a Juno Build DAO. I highly recommend giving it a read to fully understand what I’m aiming to achieve. If you have any questions, feel free to reach out on [Discord](https://discord.gg/wHZ57Z2RAG), [Twitter/X](https://x.com/junobuild), [OpenChat](https://oc.app/community/vxgpi-nqaaa-aaaar-ar4lq-cai/?ref=xanzv-uaaaa-aaaaf-aneba-cai) or also the [DFINITY forum](https://forum.dfinity.org/t/upcoming-juno-build-sns-decentralization-swap/34719) (as requested per their guidelines). @@ -103,7 +103,6 @@ David **Useful Links**: -- [Juno White Paper](/docs/white-paper/intro) - Understand the vision and details behind the proposed DAO. - [Sign Up to the Newsletter](/newsletter) - Stay updated on all the latest news and steps. - [Discord](https://discord.gg/wHZ57Z2RAG) or [OpenChat](https://oc.app/community/vxgpi-nqaaa-aaaar-ar4lq-cai/?ref=xanzv-uaaaa-aaaaf-aneba-cai) - Join the community and ask your questions. - [Twitter/X](https://x.com/junobuild) - Follow for real-time updates. diff --git a/docs/white-paper/architecture.md b/docs/miscellaneous/architecture.md similarity index 100% rename from docs/white-paper/architecture.md rename to docs/miscellaneous/architecture.md diff --git a/docs/white-paper/infrastructure.md b/docs/miscellaneous/infrastructure.md similarity index 100% rename from docs/white-paper/infrastructure.md rename to docs/miscellaneous/infrastructure.md diff --git a/docs/miscellaneous/wallet.md b/docs/miscellaneous/wallet.md index 9bc2d1e5..c8970e9b 100644 --- a/docs/miscellaneous/wallet.md +++ b/docs/miscellaneous/wallet.md @@ -26,7 +26,7 @@ One key usage is converting ICP tokens to cycles, which are used to cover the co ## Why do I need ICP? -Given that Juno is built on top of the Internet Computer (see [architecture](../white-paper/architecture.md)), your smart contracts require cycles to remain active. +Given that Juno is built on top of the Internet Computer (see [architecture](architecture.md)), your smart contracts require cycles to remain active. While you don’t necessarily need ICP in the Juno ecosystem since you can acquire cycles with Stripe through [cycle.express](https://cycle.express), having some ICP can still be interesting. diff --git a/docs/miscellaneous/workarounds.md b/docs/miscellaneous/workarounds.md index 7a427213..a5c2e7d1 100644 --- a/docs/miscellaneous/workarounds.md +++ b/docs/miscellaneous/workarounds.md @@ -1,6 +1,6 @@ # Workarounds -This page is dedicated to helping you make the most of Juno features, even when some functionalities are not yet fully supported out of the box. Below, you'll find practical workarounds and guidance for processes which in the future will be resolved by features planned in the [roadmap](../white-paper/roadmap.mdx). +This page is dedicated to helping you make the most of Juno features, even when some functionalities are not yet fully supported out of the box. Below, you'll find practical workarounds and guidance for processes which in the future will be resolved by new features. --- diff --git a/docs/terminology.md b/docs/terminology.md index a208af69..a02fe05f 100644 --- a/docs/terminology.md +++ b/docs/terminology.md @@ -65,7 +65,7 @@ Think of it like the command center for a space mission. Just as NASA's mission Because it can hold ICP and is only controlled by you, your mission control also functions as your [wallet](#wallet). -For a schematic representation, refer to the [Architecture](./white-paper/architecture.md) documentation page. +For a schematic representation, refer to the [Architecture](miscellaneous/architecture.md) documentation page. ## Modules @@ -131,4 +131,4 @@ Because your wallet is also your [mission-control](#mission-control) and therefo [orbiters]: terminology.md#orbiter [mission control]: terminology.md#mission-control [mission controls]: terminology.md#mission-control -[infrastructure]: ./white-paper/infrastructure.md +[infrastructure]: miscellaneous/infrastructure.md diff --git a/docs/troubleshooting.md b/docs/troubleshooting.md index d3cbc128..ad7af6fb 100644 --- a/docs/troubleshooting.md +++ b/docs/troubleshooting.md @@ -14,7 +14,7 @@ Please ensure that npm is added to your system's PATH (e.g. `C:\Users\{PC_NAME}\ ### Windows Not Defined -Juno does not support yet Server Side Rendering (see [Roadmap](./white-paper/roadmap.mdx)). Therefore if you are facing such an issue as `ReferenceError: window is not defined` please make sure that your application is not build using SSR. +Juno does not support yet Server Side Rendering at the moment. Therefore, if you are facing such an issue as `ReferenceError: window is not defined` please make sure that your application is not build using SSR. We generally recommend using Static Site Generation (SSG) / prerendering. diff --git a/docs/white-paper/business-model.mdx b/docs/white-paper/business-model.mdx deleted file mode 100644 index 2dce9583..00000000 --- a/docs/white-paper/business-model.mdx +++ /dev/null @@ -1,40 +0,0 @@ ---- -description: Learn about Juno's business model, including freemium, subscription, and transaction-based fees. -keywords: - [ - Juno business model, - freemium model, - subscription-based model, - transaction fees, - PaaS - ] ---- - -# Business Model - -Juno's business model is designed to provide value to developers while ensuring the sustainability and growth of the platform. - -## Current Model - -- **Freemium**: Juno operates on a freemium model, offering core features for free to help developers get started quickly and easily. Each new developer sign-up leads to two smart contracts they fully own: one for their wallet and one for their project or dApp. - -- **Transaction-Based Fees**: Developers pay transaction fees for specific actions, such as spinning up additional new smart contracts. - -## Future Plans - -- **Subscription-Based Model**: To cater to the needs of more advanced users, Juno plans to introduce a pro plan which will offer enhanced functionality, including team collaboration and enhanced management tools. - -- **Payment Transaction Fees**: A transaction fee might be introduced as part of the Payments SDK. This approach would enable the platform to generate revenue by charging a small fee on each transaction processed through its payment solutions. - -In addition to the above costs, it is worth noting that developers are responsible for the operating costs associated with their smart contracts and projects. This ensures they have control over their expenses based on their specific usage and needs. - -In shorter terms, Juno is a PaaS (Platform as a Service, derived from SaaS, Software as a Service), and its business model is akin to similar platforms in the cloud industry. - -import LaunchIllustration from "@site/static/img/launch.png"; - -A satellite being launched to space through the clouds. diff --git a/docs/white-paper/competitors.mdx b/docs/white-paper/competitors.mdx deleted file mode 100644 index d71b9382..00000000 --- a/docs/white-paper/competitors.mdx +++ /dev/null @@ -1,105 +0,0 @@ ---- -description: Discover how Juno's blockchain-as-a-service compares with top Web2 cloud providers and Web3 platforms. Explore strengths, limitations, and market dynamics. -keywords: - [ - blockchain-as-a-service, - Web2 cloud providers, - Web3 platforms, - strengths, - limitations, - market dynamics - ] ---- - -# Competitors - -While Juno's blockchain-as-a-service approach offers a unique solution for developers, it is helpful to compare it with potential competitors across Web2 cloud providers and Web3 platforms. Here is a summary of the strengths and limitations of these key players. - -## Comparison - -- Web2: Established Platforms (Firebase, Supabase, AppWrite, Vercel, Netlify, Heroku, DigitalOcean, AWS Amplify) - - Advantages: - - **Established**: Well-established platforms with extensive support and resources. - - - **Market Share**: Large share of the market with many developers already using these services. - - - **Features**: Comprehensive set of features for development, deployment, and maintenance. - - - **Scale**: Proven scalability to handle large workloads efficiently. - - - Disadvantages: - - **Stuck in the Web2 Paradigm**: Reliance on centralized infrastructure, lacking the decentralization and security features of Web3 solutions. - -
- -- Web2: Newcomers (Render, Flightcontrol, SST) - - Advantages: - - **Features**: Address market demand for alternatives to established Web2 cloud providers. - - - **Scale:** Well-funded and positioned to rapidly gain market share. - - - **Trendy**: The “cool kids on the block”. - - - Disadvantages: - - **Stuck in the Web2 Paradigm**: Share the same disadvantages as established Web2 providers, including reliance on centralized infrastructure and lack of decentralization and security features inherent in Web3 solutions. - -
- -- Web3: API Platforms (Alchemy, Moralis, thirdweb) - - Advantages: - - **Established**: Strong presence in the Web3 space with robust ecosystems. - - - **Market Share**: Large share of the market with many developers already using these services. - - - **Cross-Chain Capabilities**: Support for multiple blockchain networks, enhancing interoperability. - - - Disadvantages: - - **Focused on Wallets and Transactions**: Primarily centered around wallet management and transactions. - - - **Gas Fees**: Transaction costs can be high, impacting the overall cost-efficiency. - - - **Not Fully Open Source**: Some components may not be open source, limiting transparency. - - - **No DAOs**: Lack of decentralized autonomous organization and governance for their users. - - - **Off-Chain Frontend**: Often rely on off-chain solutions for frontend development. - -
- -- Web3: Hosting Platforms (Fleek, 4everland) - - Advantages: - - **Established**: Reliable hosting platforms with a focus on Web3 applications. - - - **Cross-Chain Capabilities**: Support for multiple blockchain networks, enhancing interoperability. - - - Disadvantages: - - **Web2 Auth and DB**: Uses traditional Web2 authentication and database solutions. - - - **No DAOs**: Lack of decentralized autonomous organization and governance for their users. - - - **Not Fully Open Source**: Some components may not be open source, limiting transparency. - -
- -- Web3: Developer Platforms (Tenderly, OpenZepplin) - - Advantages: - - **Adopted Tooling**: These platforms provide a good developer experience, adopted by many and fulfilling their needs. - - - **Infrastructure**: They deliver various tools (Testnets, debuggers, alerting) required for node and smart contract development at scale. - - - **Cross-Chain Capabilities**: Support for multiple blockchain networks, enhancing interoperability. - - - Disadvantages: - - **Other paradigm**: While both address “Web3 development,” Juno distinguishes itself by focusing on dApp development and could potentially offer bridges. - - - **Ease of onboarding**: Web2 developers, particularly those familiar with JavaScript, are more likely to onboard quickly on Juno. - - - **No DAOs**: Lack of decentralized autonomous organization and governance for their users. - ---- - -## Potential Market Structure - -To provide a visual comparison, here is a BCG matrix highlighting the potential market share and market growth rate of those various Web2 and Web3 platforms based on my personal interpretation. This representation may be subjective and potentially incorrect, but it reflects how Juno perceives the market dynamics. - -![A BCG matrix highlighting the potential market share and growth of the potential competitors](../img/bcg.webp) diff --git a/docs/white-paper/conclusion.md b/docs/white-paper/conclusion.md deleted file mode 100644 index 0df1cea9..00000000 --- a/docs/white-paper/conclusion.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -description: Conclusion of Juno's white paper discussing its potential and future steps. -keywords: [Juno, decentralized development, DAO, Web3, blockchain] ---- - -# Conclusion - -Juno represents a significant step forward in the realm of decentralized development. While it does not yet encompass all the features of Web2 services or the full capabilities of standard Web3 solutions, its unique selling proposition remains compelling. Market adoption is still in progress, and future scalability remains an open question, but the potential is evident. - -Establishing a DAO is an essential consideration for the future. Full developer control cannot coexist with centralized ownership, making decentralized governance a necessary evolution. When the time comes, a DAO will ensure that growth, security, and transparency are upheld through community-driven decision-making. - -Hope this was an insightful read! - -Live long and prosper,
David diff --git a/docs/white-paper/costs-challenges.md b/docs/white-paper/costs-challenges.md deleted file mode 100644 index 40471872..00000000 --- a/docs/white-paper/costs-challenges.md +++ /dev/null @@ -1,7 +0,0 @@ -# Costs Challenges - -While Juno’s architecture and business model have been, to some extent, validated, it is important to acknowledge two cost-related challenges: - -- **Cost of Acquisition**: The current cost of acquisition is relatively high, given that two smart contracts are spun up for each new developer. - -- **Resource Management**: By automatically creating two smart contracts for new developers, the platform can be prone to attacks. To mitigate this, Juno uses a conservative approach by always having a limited amount of resources available for new developers, ensuring the resources remain under control. Similarly, there is a potential for developers with bad intentions to create new smart contracts and then move them to operate independently outside the platform straight from the start. If this becomes a concern, user experience improvements can be implemented to encourage greater commitment, helping to mitigate this risk. diff --git a/docs/white-paper/intro.mdx b/docs/white-paper/intro.mdx deleted file mode 100644 index d925423e..00000000 --- a/docs/white-paper/intro.mdx +++ /dev/null @@ -1,19 +0,0 @@ -# Introduction - -The Juno White Paper offers an in-depth exploration of the vision, architecture, and technological foundation that powers the platform. Designed for developers, architects, and decision-makers, this document outlines the key principles driving its innovation and presents a comprehensive proposal for eventually transforming the Juno ecosystem into a decentralized autonomous organization (DAO) - -Have fun reading. - -:::note - -Version: 1.4.1 /// Last update: January 2025 - -::: - -:::info[Disclaimer] - -The projections and market analysis in this white paper are based on personal interpretations and insights, not on established numbers or verified data. These representations may be subjective and should not be taken as definitive market reflections. - -Please note that the following is for informational purposes only and does not constitute financial advice. - -::: diff --git a/docs/white-paper/market-size.md b/docs/white-paper/market-size.md deleted file mode 100644 index 206b8042..00000000 --- a/docs/white-paper/market-size.md +++ /dev/null @@ -1,5 +0,0 @@ -# Market Size - -It does not make sense to list arbitrary billion-dollar market size figures in this white paper for the sake of selling a huge market. By targeting any developers interested in Web3, the market is de facto broad. Moreover, the rise of Web2 cloud providers in recent years validates the fact that the majority of developers and companies are not interested in running their own servers in their basements. - -However, it would be naive to consider all developers as potentially interested in Web3. There are web developers who are against anything Web3, considering it a crypto scam. Additionally, industry trends change over time; while Web3 was predominant in previous years, AI has definitely picked up the wave nowadays. Similarly, not all Web3/crypto-native developers are easy targets. Some do not value Juno's principles of decentralization and ownership as much as the opportunity to make money, which is a valid perspective but worth noting. This does not mean these developers are not potential users of Juno, but they may be more difficult to attract. Nevertheless, the market remains vast and full of opportunities. diff --git a/docs/white-paper/open-source.md b/docs/white-paper/open-source.md deleted file mode 100644 index 0d07fa55..00000000 --- a/docs/white-paper/open-source.md +++ /dev/null @@ -1,52 +0,0 @@ ---- -description: Juno is an open-source blockchain platform. Explore our white paper, repositories, and more. -keywords: - [ - open source, - blockchain, - blockchain platform, - cloud platform, - serverless, - GitHub repositories - ] ---- - -# Open Source - -Juno is open source. The entire codebase is available on GitHub, and the repositories can be accessed via the following links: - -- https://github.com/junobuild/juno - -- https://github.com/junobuild/juno-js - -- https://github.com/junobuild/plugins - -- https://github.com/junobuild/create-juno - -- https://github.com/junobuild/cli - -- https://github.com/junobuild/juno-docker - -- https://github.com/junobuild/juno-action - -- https://github.com/junobuild/cdn - -- https://github.com/junobuild/cron - -- https://github.com/junobuild/workshop - -- https://github.com/junobuild/brand - -- https://github.com/junobuild/hacks - -- https://github.com/junobuild/docs - -## License - -Juno is released under the GNU Affero General Public License Version 3 (AGPLv3) or any later version. In addition, its source code shall not be used to create any similar Blockchain-as-a-Service offerings. - -The libraries, CLI and other tools around the core features are released under MIT License. - -## Audit Considerations - -It is important to note that the codebase has not yet been audited. Currently, an audit may be seen as a complication and an investment that may not be fully justified given the current amount of funds held across the ecosystem. However, in the future, particularly after the development of the Mission Control wallet is complete (see chapter “Roadmap”), an audit will become valuable. diff --git a/docs/white-paper/problems-statement.md b/docs/white-paper/problems-statement.md deleted file mode 100644 index 90ced334..00000000 --- a/docs/white-paper/problems-statement.md +++ /dev/null @@ -1,33 +0,0 @@ -# Problems Statement - -While Web2 cloud providers like Google Firebase and other Web2 cloud solutions have revolutionized the development landscape, they come with several inherent limitations and challenges. - -## 1. Centralization - -Web2 cloud providers are inherently centralized, meaning that all data and services are controlled by a single entity. This centralization poses several problems: - -- **Single Point of Failure**: Centralized systems are vulnerable to outages or failures. If the cloud provider experiences downtime, all applications and services relying on it are affected. - -- **Censorship and Control**: Central authorities can impose restrictions, censor content, or control access to data and services, limiting the freedom and autonomy of users and developers. - -## 2. Data Privacy and Security - -Web2 cloud providers often handle vast amounts of personal and sensitive data, raising concerns about privacy and security: - -- **Data Ownership**: Users and developers typically do not have full ownership and control over their data. The cloud provider retains significant control and can access or share data without user consent. - -- **Security Risks**: Centralized storage of data makes it an attractive target for hackers. Breaches can result in massive data leaks, exposing sensitive information. - -## 3. Limited Transparency - -The operations of Web2 cloud providers are often opaque, leading to a lack of transparency in how data is handled and services are managed: - -- **Proprietary Systems**: Many cloud providers use proprietary technologies and systems, making it difficult for developers to understand and trust the underlying mechanisms. - -- **Unclear Policies**: Privacy policies and terms of service can be complex and difficult to understand, leading to uncertainty about how data is used and protected. - -## 4. Cost - -While Web2 cloud services can be cost-effective initially, they often lead to higher costs over time: - -- **Escalating Costs**: As applications scale, the costs associated with using cloud services can increase significantly, impacting the sustainability of projects. diff --git a/docs/white-paper/roadmap.mdx b/docs/white-paper/roadmap.mdx deleted file mode 100644 index 16369ec1..00000000 --- a/docs/white-paper/roadmap.mdx +++ /dev/null @@ -1,98 +0,0 @@ ---- -title: Roadmap -description: Discover Juno's development roadmap and future plans. Learn about upcoming features, improvements, and the long-term vision for the Juno platform. ---- - -import MoonIllustration from "@site/static/img/moon_with_bg.svg"; - - - - - -# Roadmap and Future Plans - -This section outlines Juno's development roadmap and future plans, providing insight into how the platform will evolve and improve over time. This chapter will help you understand the long-term vision and upcoming features that will enhance the experience and capabilities of the platform. - -:::note - -Last update: April 21, 2025 - -::: - -## Ongoing Effort - -- **Ecosystem Growth**: Continuing to build a robust ecosystem around Juno by fostering a strong developer community, hosting events, and providing comprehensive resources and support. - -- **Following Internet Computer Innovations**: Juno will continuously evolve alongside the Internet Computer's new features, integrating the latest advancements in security, performance, and interoperability to ensure the platform stays at the cutting edge of Web3 technology. - -## H1 2025 - -- **GitHub Integration**: Adding support for authentication and automated deployment processes, including preview deployments, through a deeper GitHub integration. - -- **Payments and Wallet SDK**: Allowing developers to integrate payment solutions seamlessly into their dApps using signer standards and connect to their developer wallet, enabling secure and efficient management of earnings, payments, and transactions. - -- **Third-Party Authentication**: Supporting integration with more third-party authentication providers for developers and their applications. - -- **Standalone Analytics**: Providing the existing analytics solution as a standalone product, offering comprehensive insights and performance on Web3 metrics for any developers or product owners. - -## H2 2025 - -- **Secure Team Collaboration**: Introducing support for secure team collaboration, enabling multiple developers to work together efficiently and securely. - -- **Enhanced Management Tools**: Offering advanced administration capabilities such as batch upgrade of smart contracts. - -- **GitLab**: Similar integration as for GitHub. - -- **Subscription-Based Model**: Launching a subscription-based model to provide premium features and services, including secure team collaboration and enhanced management tools. - -## 2026 and Long Term - -- **Marketplace for Developers**: Establishing a marketplace from developers to developers to design and offer their own smart contract solutions, templates, and plugins, allowing them to contribute to and profit from their work. - -- **NFT**: Developing comprehensive standardized NFT capabilities including minting, trading, and collection management tools. - -- **Mobile Development**: Providing SDKs for mobile development in Swift (iOS) and Kotlin (Android), enabling developers to integrate Juno’s smart contract capabilities and services directly into mobile applications. - -- **Text-Prompted UI Generation**: Provide an application to generate UI features that leverages Juno’s capabilities and automatically spins up maintainable smart contracts through simple text prompts. - -- **Error Monitoring and Reporting**: Introducing an integrated error tracking and reporting tool, allowing developers to identify, diagnose, and fix issues in their dApps in real-time, improving overall stability and performance. - -- **Cross-Chain Compatibility**: Developing cross-chain features to enable interoperability between different blockchain networks, allowing for more versatile and integrated applications. - -- **Real-Time**: Enabling real-time data exchange capabilities to facilitate instant updates and seamless synchronization within Juno-powered applications. - -- **Network Actor**: Becoming a key actor in decentralized networks to enhance the robustness of Juno's services and contribute to the overall infrastructure for the greater good. This includes becoming a node provider on the Internet Computer. - -Juno is committed to continuous improvement and innovation, ensuring that developers have access to the best, most comprehensive tools and technologies for building decentralized applications. - -## Released Features - -To date, and as a side note, these are the key features that have been successfully delivered, in addition to general maintenance and lifecycle improvements, showcasing a commitment to continuous progress: - -- Analytics (Sept. 2023) - -- Upgraded Satellites Memory (Oct. 2023) - -- Enhanced Hosting Capabilities (Nov. 2023) - -- Local Emulator for Developers (Jan. 2024) - -- Blockchainless ("Serverless") Functions (Feb. 2024) - -- Project Scaffolding Templates (Apr. 2024) - -- Regions / Subnets Selection (Oct. 2024) - -- Backups (Nov. 2024) - -- Monitoring: Automatic Cycles Refill (Jan. 2025) - -- Enhanced Serverless Functions (Apr. 2025) diff --git a/docs/white-paper/solution.md b/docs/white-paper/solution.md deleted file mode 100644 index 38d77d74..00000000 --- a/docs/white-paper/solution.md +++ /dev/null @@ -1,59 +0,0 @@ ---- -description: Juno offers a decentralized, blockchainless platform for Web3 development, ensuring data privacy, security, and cost efficiency. -keywords: - [ - Decentralized Web3, - blockchainless platform, - data privacy, - security, - cost efficiency - ] ---- - -# Solution - -Juno solves the limitations of traditional Web2 cloud providers by offering a decentralized, blockchainless platform designed specifically for the needs of modern Web3 development. - -## 1. Decentralization - -Juno aims to eliminate the reliance on centralized authorities, reducing the risk of single points of failure and censorship. - -- **Autonomy and Control**: Developers retain full control over their applications and data, free from centralized oversight and restrictions. - -- **Distributed Architecture**: Juno’s decentralized infrastructure aims to ensure high availability and resilience against outages. - -## 2. Data Privacy and Security - -Juno places a strong emphasis on data privacy and security, ensuring that developers and users maintain control over their information. - -- **Data Ownership**: With Juno, developers and users have full ownership of their data. Juno’s architecture prevents unauthorized access and sharing. - -- **Cryptographic Security**: Security is inherent in blockchain technology, providing a safe environment for decentralized applications. - -## 3. Transparency - -Juno operates with complete transparency, allowing developers to understand and trust the underlying mechanisms. - -- **Open-Source Platform**: Juno’s codebase is open-source, ensuring that developers can inspect and verify the system’s operations. - -## 4. Cost Efficiency - -Juno offers a cost-effective alternative to traditional cloud providers, particularly as applications scale. - -- **Predictable Costs**: Juno’s pricing model is designed to be predictable, ensuring cost efficiency at every stage of development. - -## 5. Innovation Facilitation - -Juno supports rapid innovation by providing a flexible and comprehensive toolkit for developers. - -- **Comprehensive Toolkit**: Juno offers a wide range of features including authentication, data and file storage, hosting, serverless functions, and on-chain analytics, all designed to integrate seamlessly. - -- **First-Class Developer Experience**: Juno is built with developers in mind, providing intuitive tools, comprehensive documentation, and seamless integration to enhance productivity and reduce the learning curve. - -- **Rapid Development**: Developers can build applications using familiar patterns and tools, speeding up the development process. - -- **Future-Proof Technology**: Juno continuously evolves to incorporate the latest advancements in Web3 technology, ensuring that developers always have access to cutting-edge tools and features. - -## Conclusion - -While Web2 cloud providers have been instrumental in the development of modern web applications, their inherent limitations pose significant challenges. Juno offers a compelling alternative by providing a decentralized, blockchainless platform that empowers developers to overcome those and build secure, scalable, and efficient applications with greater ease and control. diff --git a/docs/white-paper/target-audience.md b/docs/white-paper/target-audience.md deleted file mode 100644 index 4f35c027..00000000 --- a/docs/white-paper/target-audience.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -description: Juno is designed for web developers, including individual programmers, small teams, and startups. It helps transition from Web2 to Web3 development and supports those familiar with Web3, regardless of blockchain preference. ---- - -# Target Audience - -Juno is primarily designed for web developers. Whether those are individual programmers, small teams, or startups, the platform caters to those looking to transition from traditional Web2 development to the decentralized world of Web3 as well as those already familiar with Web3, regardless of their preferred blockchain. - -Juno is ideal for developers aiming to build fully decentralized projects or decentralize parts of their current applications. Moreover, it is an excellent tool for those looking to bootstrap or develop a prototype rapidly. - -While Juno does not currently target professionals within larger organizations directly, this can be envisioned for the future as Juno aims to support all developers. diff --git a/docs/white-paper/use-cases.md b/docs/white-paper/use-cases.md deleted file mode 100644 index 3e6fa379..00000000 --- a/docs/white-paper/use-cases.md +++ /dev/null @@ -1,41 +0,0 @@ ---- -description: Discover the potential applications and benefits of using Juno in decentralized apps, content management, and supply chain management. -keywords: - [ - Decentralized Applications (dApps), - Content Management Systems (CMS), - Blockchain Supply Chain Management - ] ---- - -# Use Cases - -The following list provides an example of potential applications and benefits of using Juno in various scenarios: - -## 1. Decentralized Applications (dApps) - -- **Rich Data Applications**: Building applications that handle complex data interactions securely and efficiently. Examples include collaboration tools, document management systems, and data-driven dashboards. - -- **Rapid Prototyping**: Enable quick validation and iteration of ideas, facilitating the development of innovative Web3 applications with minimal setup and configuration. - -- **Leveraging Crypto Payments**: Creating dApps that integrate cryptocurrency payments, enabling seamless, secure, and transparent financial transactions. - -## 2. Content Management - -- **Blogs, Documentation and Websites**: Hosting various types of web content that benefit from trustworthy and decentralized data storage. - -- **Media Sharing Platforms**: Developing platforms for sharing images, and other media, ensuring content integrity and user ownership. - -## 3. Supply Chain Management - -- **Traceability**: Ensuring product traceability and authenticity with blockchain-based records. - -- **Transparency**: Providing transparent supply chain information to consumers and stakeholders. - -:::info[Links] - -- [Showcase](/showcase) - -- [Testimonials](/#testimonials) - -::: diff --git a/docs/white-paper/validation.md b/docs/white-paper/validation.md deleted file mode 100644 index b2047002..00000000 --- a/docs/white-paper/validation.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -title: Validation -description: Learn about our validation metrics and developer engagement. -keywords: - [open source, development platform, validation metrics, developer engagement] ---- - -# Validation and Metrics - -Juno's code was open sourced on Valentine's Day 2023. After an invitation-based trial phase, it was officially launched to the public on April 20th, 2023. Over the last few months, there have been around 100 new Mission Controls created on a monthly basis, totaling 1,200 by the end of June 2024. In other words, we are assuming 100 new potential developers a month. - -Due to its anonymity model and the current lack of specific metrics implementation, it is challenging to evaluate the conversion rate of developers who effectively develop and launch projects. However, a voluntary showcase is available on the website, and as detailed in the business model, additional satellites and analytics require a one-time transaction. By mid-July 2024, 169 of these paid smart contracts had been executed (see Juno's Console account address for reference). This, to some extension, validates both the demand for such services and the acceptance of a one-time fee model. - -The Juno website itself uses Juno Analytics. On average this year, there have been over 4,000 monthly page views, 3,000+ unique page views, and 1,500+ unique sessions. - -:::note[References] - -https://dashboard.internetcomputer.org/account/c14e9bca510951c86411c19e8078cc6dfb795efab1b01db3c8825b07eb3fd861 - -::: diff --git a/docs/white-paper/what-is-juno.mdx b/docs/white-paper/what-is-juno.mdx deleted file mode 100644 index 2dc92f4e..00000000 --- a/docs/white-paper/what-is-juno.mdx +++ /dev/null @@ -1,31 +0,0 @@ ---- -description: Juno is a blockchain-as-a-service platform that empowers developers to build decentralized apps efficiently. Learn more about its features and benefits. -keywords: - [ - blockchain-as-a-service, - decentralized apps, - Web3, - Juno platform, - platform-as-a-service, - paas, - saas, - cloud platform as a service - ] ---- - -# What is Juno? - -Juno is a blockchain-as-a-service (“blockchainless”) platform that empowers developers to build decentralized apps efficiently. Similar to Web2 cloud service platforms but with significant improvements, it offers a comprehensive toolkit to scaffold secure and efficient projects running on the blockchain. - -With Juno, developers can integrate features such as authentication, data and file storage, hosting, serverless functions, or on-chain analytics provided by smart contracts. This allows them to scaffold projects using familiar patterns while maintaining complete control over their work. - -In short, Juno is the Google Firebase alternative for Web3. - -import CloudIllustration from "@site/static/img/cloud.svg"; - - - - diff --git a/docusaurus.config.ts b/docusaurus.config.ts index fef17db6..8ad29675 100644 --- a/docusaurus.config.ts +++ b/docusaurus.config.ts @@ -99,7 +99,6 @@ const config: Config = { { description: "Juno is your self-contained serverless platform for building full-stack web apps without DevOps or backend boilerplate. Developers use their favorite frontend frameworks like React, SvelteKit, or Next.js, and write backend logic in Rust or TypeScript as serverless functions. Everything is bundled into a single WebAssembly (WASM) artifact that runs in a decentralized, stateful environment — under full user ownership — on the Internet Computer. Juno cannot access or modify your code, data, or infrastructure. It supports GitHub Actions for deploys and upgrades, and provides both a CLI and web Console UI for managing projects. The local development environment closely mirrors production, ensuring smooth transitions from build to deployment.", - ignorePaths: ["/white-paper/"], groups: [ { matchers: [ @@ -192,7 +191,6 @@ const config: Config = { label: "More", position: "left", items: [ - { to: "/docs/white-paper/intro", label: "White Paper" }, { to: "/showcase", label: "Showcase" }, { to: "/blog", label: "Blog" }, { to: "/newsletter", label: "Newsletter" }, @@ -304,10 +302,6 @@ const config: Config = { { title: "More", items: [ - { - label: "White Paper", - to: "/docs/white-paper/intro" - }, { label: "Showcase", to: "/showcase" diff --git a/sidebars.ts b/sidebars.ts index 4aecc477..e1112b4c 100644 --- a/sidebars.ts +++ b/sidebars.ts @@ -264,24 +264,6 @@ const sidebars: SidebarsConfig = { "troubleshooting", "pricing" ], - ["white-paper"]: [ - "white-paper/intro", - "white-paper/what-is-juno", - "white-paper/problems-statement", - "white-paper/solution", - "white-paper/use-cases", - "white-paper/roadmap", - "white-paper/architecture", - "white-paper/infrastructure", - "white-paper/open-source", - "white-paper/business-model", - "white-paper/competitors", - "white-paper/costs-challenges", - "white-paper/validation", - "white-paper/target-audience", - "white-paper/market-size", - "white-paper/conclusion" - ], references: [ "reference/cli", "reference/configuration", From f06f7bab53161cf54443ecd1a99667e4a3acac55 Mon Sep 17 00:00:00 2001 From: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 18 Jul 2025 12:47:36 +0000 Subject: [PATCH 2/8] =?UTF-8?q?=F0=9F=93=84=20Update=20LLMs.txt=20snapshot?= =?UTF-8?q?=20for=20PR=20review?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .llms-snapshots/llms-full.txt | 106 ++++++++++++++++++++++++++++++++-- .llms-snapshots/llms.txt | 4 +- 2 files changed, 103 insertions(+), 7 deletions(-) diff --git a/.llms-snapshots/llms-full.txt b/.llms-snapshots/llms-full.txt index 876b3c28..3168508d 100644 --- a/.llms-snapshots/llms-full.txt +++ b/.llms-snapshots/llms-full.txt @@ -6702,6 +6702,72 @@ This method is useful if you want to generate a completely new key and apply it This action will overwrite the previously saved key used to configure your local CLI environment. +# Technical Architecture + +The architecture of Juno is designed to give developers complete control over their data and applications, ensuring a decentralized and secure development environment. It continuously evolves to meet the needs of developers and to incorporate the latest advancements. + +![Juno architecture schema showing developer control flow](/assets/images/architecture-ea813c74e7ec12ec0989052392308143.png) + +--- + +## Core Components + +**Console**: The console is an admin interface for developers, providing a comprehensive suite of tools to manage and customize their projects. It maintains a list of Mission Control smart contracts and their associated anonymous user IDs. When a developer signs in, the console retrieves the developer's Mission Control and sends this information back to the developer's browser, allowing them to manage their Mission Control, satellites, and orbiters independently, with no control or intervention from Juno. + +The console offers a full range of administrative features for managing smart contracts, including the ability to top up, start, stop, and delete projects, as well as create new projects. Developers can manage anonymous users associated with their projects and handle data management tasks such as creating collections and entries in the datastore or storage. Additionally, the console allows for customization by setting new custom domains for projects. Developers can also consult logs from serverless functions and set up monitoring to keep track of application performance and health. + +This user-friendly interface ensures that developers have full control and flexibility over their projects, enhancing their ability to build and maintain decentralized applications efficiently. + +**Observatory**: The observatory is a specialized smart contract that developers authorize to call specific information through their Mission Control, particularly regarding the current status of their smart contracts. In essence, the observatory acts as a watchdog, performing periodic checks to monitor and ensure the proper lifecycle management of the developers' smart contracts. While it currently only reads information, it might be extended in the future to perform additional tasks such as automatic top-up. + +**CDN**: The CDN is a satellite that holds various libraries and assets used by Juno. It contains the metadata of WebAssembly (WASM) source files that developers use when upgrading their smart contracts. When a new version of any developer's smart contract is released, the updated version is published to the CDN. This ensures that releases are shipped end-to-end securely, providing a seamless and secure upgrade process for developers. + +The Console, Observatory, and CDN are the smart contracts which aim to be controlled by a Juno DAO. + +--- + +## Developers Components + +**Mission Control**: Each developer is assigned a unique smart contract known as Mission Control. This smart contract acts as a hub for managing all of a developer's smart contracts (projects and tools), as well as serving as a wallet. This ensures that developers maintain full control over their applications and funds, with Juno having no control, rights, or access to any of the developer's creations. + +**Satellites**: Satellites serve as comprehensive entities that include memory, permission checks, and other Juno abstractions. Essentially, a satellite is a container for a developer's project or dApp, encompassing all necessary data, storage, application bundles, and assets. Each satellite operates independently and is dedicated to a single application, ensuring clear organization and management. + +**Orbiters**: Orbiters are specialized smart contracts used for analytics, functioning as a decentralized alternative to services like Google Analytics. They collect and process data, providing developers with valuable insights into their applications' performance and usage patterns. Like satellites, orbiters are fully controlled by the developer. + +--- + +## Libraries, Tools and Templates + +In addition to the smart contracts themselves, Juno also provides a variety of libraries, tools and templates. These are meant to be used within the developer workflow when developers start, maintain, and develop their projects. They are designed to provide the best state-of-the-art developer experience. + +* **Javascript Libraries**: + + * **Core**: The core client library for interacting with satellites. +* **Analytics**: A tracker for integrating analytics. + +* **Admin**: Tools for interfacing with admin features, enabling project management. + +* **CLI**: A command-line interface for administrative purposes, allowing developers to manage their smart contracts and projects from the terminal. + +* **Plugins**: Various plugins meant to ease the integration of Juno in frontend applications, specifically for ViteJS and NextJs. + +* **GitHub Action**: Automation tools for interacting with and deploying via GitHub. + +* **Docker Images**: Pre-configured Docker images for local dApp development and end-to-end (E2E) testing, providing a consistent development environment. + +* **Plugins**: Various JS libraries + +* **Templates**: To help new developers discover Juno or seasoned developers start new projects, Juno provides a set of templates for the most well-known frontend frameworks, namely NextJS, React, Vue, Svelte, Astro, and Angular. + + +--- + +## Documentation and Communication + +Juno maintains a website that serves as the landing page and documentation hub for developers. It offers comprehensive guides, tutorials, and resources to help developers get started with Juno, understand its features, and make the most of the platform. Additionally, the website plays a crucial role in communication and SEO, helping to attract new users, engage the community, and provide updates about the platform. This site is a key component for onboarding new users, supporting the developer community, and increasing Juno’s visibility and reach. + +The website will not be part of the DAO, as it requires frequent updates to reflect changes such as those in tooling and libraries, and because it is also used for communication, such as when new tutorials are published. + # Best Practices This page provides recommendations to improve your application when developing and deploying with Juno. @@ -6734,6 +6800,34 @@ Configure your Satellite to send a CSP header as part of the HTTP response. Head import { defineConfig } from "@junobuild/config";export default defineConfig({ satellite: { ids: { production: "qsgjb-riaaa-aaaaa-aaaga-cai" }, source: "dist", storage: { headers: [ { source: "**/*", headers: [["Content-Security-Policy", "REPLACE_THIS_WITH_YOUR_RULES"]] } ] } }}); ``` +# Infrastructure + +Juno's infrastructure is designed to harness the full potential of Web3 technologies, creating a robust, secure, and scalable environment for developers to build decentralized applications. + +--- + +## Internet Computer + +![An illustration representing Juno smart contracts living at the top of the Internet Computer](/assets/images/juno-internet-computer-905a4ce5071e12858c93525e424b9d30.webp) + +Juno operates on the Internet Computer (ICP or IC), a blockchain unlike any other. The Internet Computer is akin to adding a super-powered, self-running cloud to the regular internet. It enables the creation of various systems and services on a decentralized network using "canister software", which represents a more advanced version of smart contracts. + +The IC comprises a set of protocols that facilitate independent data centers worldwide in coming together to offer a decentralized alternative to the current centralized internet cloud providers, often referred to as Big Tech. These independent entities operate specialized "node machines" to generate the same number of blocks as other machines within their network, ensuring uniformity through a Proof-of-Useful-Work mechanism. Their tasks involve replicating smart contract computations for optimal efficiency. + +Thanks to its architecture, protocols, and cutting-edge cryptography, the Internet Computer stands out as the fastest blockchain, capable of directly delivering web content from smart contracts. This breakthrough enables 100% of online services to function on the blockchain, delivering complete decentralization and cost-effectiveness. + +--- + +## Multi-Blockchain + +While the Internet Computer is our current backbone, Juno is not limited to using only the IC. Our infrastructure keeps doors open for future integration with other blockchains. This approach ensures that Juno can adapt and incorporate new technologies as they emerge, maintaining our commitment to decentralization and leveraging the best available blockchain solutions. Furthermore, Juno aims to enable communication across different chains, enhancing interoperability and expanding the possibilities for decentralized applications. + +--- + +## Web2 Services + +While Juno aims to strictly use only Web3 providers and services, there are edge cases where technical or financial limitations necessitate the use of Web2 services. One example is the monitoring tool that sends emails to developers using Google Firebase Functions if their smart contracts are running out of resources. Another example is the usage of the services of the Boundary Nodes, which allow developers to register custom domains for their projects. These types of services are never enforced and are always subject to developers opting-in. + # Memory This page explains how memory works conceptually and how you can monitor its usage through the Console. @@ -6951,7 +7045,7 @@ One key usage is converting ICP tokens to cycles, which are used to cover the co ## Why do I need ICP? -Given that Juno is built on top of the Internet Computer (see [architecture](/docs/white-paper/architecture.md)), your smart contracts require cycles to remain active. +Given that Juno is built on top of the Internet Computer (see [architecture](/docs/miscellaneous/architecture.md)), your smart contracts require cycles to remain active. While you don’t necessarily need ICP in the Juno ecosystem since you can acquire cycles with Stripe through [cycle.express](https://cycle.express), having some ICP can still be interesting. @@ -7019,7 +7113,7 @@ Review the transaction details and confirm to execute it. # Workarounds -This page is dedicated to helping you make the most of Juno features, even when some functionalities are not yet fully supported out of the box. Below, you'll find practical workarounds and guidance for processes which in the future will be resolved by features planned in the [roadmap](/docs/white-paper/roadmap.md). +This page is dedicated to helping you make the most of Juno features, even when some functionalities are not yet fully supported out of the box. Below, you'll find practical workarounds and guidance for processes which in the future will be resolved by new features. --- @@ -9574,7 +9668,7 @@ For current usage and setup, refer to the [Access Keys documentation](/docs/misc ## Cycles -Cycles are used to pay for [infrastructure](/docs/white-paper/infrastructure.md) usage. Your [mission control](/docs/terminology.md#mission-control) or [satellite](/docs/terminology.md#satellite) consumes cycles while it's active. +Cycles are used to pay for [infrastructure](/docs/miscellaneous/infrastructure.md) usage. Your [mission control](/docs/terminology.md#mission-control) or [satellite](/docs/terminology.md#satellite) consumes cycles while it's active. The amount of cycles available determines whether a smart contract will be active, inactive, or eventually decommissioned (deleted). @@ -9595,7 +9689,7 @@ Learn more about [computation and storage costs](https://internetcomputer.org/do ## ICP -The ICP token is the cryptocurrency used to pay for transactions on Juno's [infrastructure](/docs/white-paper/infrastructure.md). +The ICP token is the cryptocurrency used to pay for transactions on Juno's [infrastructure](/docs/miscellaneous/infrastructure.md). It can also be converted into cycles, which are used to pay for computation and storage. Unlike the market price of ICP, the price of cycles remains constant, ensuring predictable costs for infrastructure usage. @@ -9613,7 +9707,7 @@ Think of it like the command center for a space mission. Just as NASA's mission Because it can hold ICP and is only controlled by you, your mission control also functions as your ([wallet](#wallet)). -For a schematic representation, refer to the [Architecture](/docs/white-paper/architecture.md) documentation page. +For a schematic representation, refer to the [Architecture](/docs/miscellaneous/architecture.md) documentation page. ## Modules @@ -9689,7 +9783,7 @@ Please ensure that npm is added to your system's PATH (e.g. `C:\Users\{PC_NAME}\ ### Windows Not Defined -Juno does not support yet Server Side Rendering (see [Roadmap](/docs/white-paper/roadmap.md)). Therefore if you are facing such an issue as `ReferenceError: window is not defined` please make sure that your application is not build using SSR. +Juno does not support yet Server Side Rendering at the moment. Therefore, if you are facing such an issue as `ReferenceError: window is not defined` please make sure that your application is not build using SSR. We generally recommend using Static Site Generation (SSG) / prerendering. diff --git a/.llms-snapshots/llms.txt b/.llms-snapshots/llms.txt index b93aacca..b9b12d80 100644 --- a/.llms-snapshots/llms.txt +++ b/.llms-snapshots/llms.txt @@ -107,11 +107,13 @@ Juno is your self-contained serverless platform for building full-stack web apps ## Miscellaneous - [Access Keys](https://juno.build/docs/miscellaneous/access-keys.md): Learn how to manage access keys in Juno, their roles, and how to generate them using the CLI or Console. +- [Architecture](https://juno.build/docs/miscellaneous/architecture.md): Explore the technical architecture of Juno, a decentralized development platform providing developers with full control over their data and applications. - [Best Practices](https://juno.build/docs/miscellaneous/best-practices.md): This page provides recommendations to improve your application when developing and deploying with Juno. +- [Infrastructure](https://juno.build/docs/miscellaneous/infrastructure.md): Discover how Juno's infrastructure leverages Web3 technologies to create a secure, scalable environment for decentralized applications. - [Memory](https://juno.build/docs/miscellaneous/memory.md): This page explains how memory works conceptually and how you can monitor its usage through the Console. - [Provisioning Options](https://juno.build/docs/miscellaneous/provisioning-options.md): The creation wizard for Satellites and Orbiters includes advanced provisioning options for developers who need more control. - [Wallet](https://juno.build/docs/miscellaneous/wallet.md): This section provides guidance on managing your assets and cycles with your wallet, which are essential for maintaining and providing enough resources for your modules in the Juno ecosystem. -- [Workarounds](https://juno.build/docs/miscellaneous/workarounds.md): This page is dedicated to helping you make the most of Juno features, even when some functionalities are not yet fully supported out of the box. Below, you'll find practical workarounds and guidance for processes which in the future will be resolved by features planned in the roadmap. +- [Workarounds](https://juno.build/docs/miscellaneous/workarounds.md): This page is dedicated to helping you make the most of Juno features, even when some functionalities are not yet fully supported out of the box. Below, you'll find practical workarounds and guidance for processes which in the future will be resolved by new features. ## Reference From 772144d31044354fdfc2aa9ae82f57311abde414 Mon Sep 17 00:00:00 2001 From: David Dal Busco Date: Fri, 18 Jul 2025 16:16:54 +0200 Subject: [PATCH 3/8] docs: review architecture Signed-off-by: David Dal Busco --- docs/miscellaneous/architecture.md | 124 +++++++++++++++++++++-------- 1 file changed, 90 insertions(+), 34 deletions(-) diff --git a/docs/miscellaneous/architecture.md b/docs/miscellaneous/architecture.md index 6dbce478..0e5453af 100644 --- a/docs/miscellaneous/architecture.md +++ b/docs/miscellaneous/architecture.md @@ -1,78 +1,134 @@ --- title: Architecture -description: Explore the technical architecture of Juno, a decentralized development platform providing developers with full control over their data and applications. +description: Explore the architecture behind Juno — a self-contained execution space where your entire application lives in a single deployable unit under your full control. keywords: [ Juno, - decentralized development, - smart contracts, + serverless platform, + self-hosted apps, developer tools, - blockchain architecture, - canisters + frontend hosting, + backend functions, + WebAssembly, + WASM containers ] --- -# Technical Architecture +# Architecture -The architecture of Juno is designed to give developers complete control over their data and applications, ensuring a decentralized and secure development environment. It continuously evolves to meet the needs of developers and to incorporate the latest advancements. +Juno is your own self-contained execution space. Everything your app needs — frontend, backend logic, storage — gets bundled into a single deployable WebAssembly (WASM) container called a Satellite. + +One artifact. One push. That's your app. + +No DevOps. No backend boilerplate. No surprise complexity. + +Juno's architecture is designed to give developers complete control and ownership. It combines familiar developer workflows with an environment that runs independently once deployed — without Juno's intervention. + +
![Juno architecture schema showing developer control flow](../img/architecture.png) --- -## Core Components +## How It Works -**Console**: The console is an admin interface for developers, providing a comprehensive suite of tools to manage and customize their projects. It maintains a list of Mission Control smart contracts and their associated anonymous user IDs. When a developer signs in, the console retrieves the developer's Mission Control and sends this information back to the developer's browser, allowing them to manage their Mission Control, satellites, and orbiters independently, with no control or intervention from Juno. +A typical Juno development flow looks like this: -The console offers a full range of administrative features for managing smart contracts, including the ability to top up, start, stop, and delete projects, as well as create new projects. Developers can manage anonymous users associated with their projects and handle data management tasks such as creating collections and entries in the datastore or storage. Additionally, the console allows for customization by setting new custom domains for projects. Developers can also consult logs from serverless functions and set up monitoring to keep track of application performance and health. +1. **Build your frontend** using Next.js, React, SvelteKit, Vue or any other framework you love (or none). +2. **Add backend logic** (if needed) via serverless functions written in Rust or TypeScript. +3. **Bundle everything into a Satellite** — a single WebAssembly container that holds your entire application, including its logic, state, and storage. +4. **Deploy using the CLI or GitHub Actions.** No servers to configure. No infrastructure to manage. -This user-friendly interface ensures that developers have full control and flexibility over their projects, enhancing their ability to build and maintain decentralized applications efficiently. +Once deployed, your Satellite runs independently in an unstoppable environment, entirely under your control. -**Observatory**: The observatory is a specialized smart contract that developers authorize to call specific information through their Mission Control, particularly regarding the current status of their smart contracts. In essence, the observatory acts as a watchdog, performing periodic checks to monitor and ensure the proper lifecycle management of the developers' smart contracts. While it currently only reads information, it might be extended in the future to perform additional tasks such as automatic top-up. +--- -**CDN**: The CDN is a satellite that holds various libraries and assets used by Juno. It contains the metadata of WebAssembly (WASM) source files that developers use when upgrading their smart contracts. When a new version of any developer's smart contract is released, the updated version is published to the CDN. This ensures that releases are shipped end-to-end securely, providing a seamless and secure upgrade process for developers. +## Platform Services -The Console, Observatory, and CDN are the smart contracts which aim to be controlled by a Juno DAO. +Juno provides supporting services to manage your projects, while keeping everything under your ownership: ---- +### Console + +The Console is a platform for managing your projects. It runs as its own container, combining a user interface with orchestration logic. + +It only holds one piece of data: a keypair linking each developer’s anonymous ID to their Mission Control ID. + +When you sign in, the Console returns your Mission Control ID. From there, all project management happens under your control. The Console does not have access to your apps, your data, or your infrastructure. + +It provides services such as: + +- Creating, upgrading, and deleting Satellites. +- Managing authentication, storage, data, and application state. +- Monitoring logs from serverless functions. +- Setting custom domains. +- Spinning up and reviewing analytics. + +You can access the Console at [console.juno.build](https://console.juno.build). -## Developers Components +:::note -**Mission Control**: Each developer is assigned a unique smart contract known as Mission Control. This smart contract acts as a hub for managing all of a developer's smart contracts (projects and tools), as well as serving as a wallet. This ensures that developers maintain full control over their applications and funds, with Juno having no control, rights, or access to any of the developer's creations. +The Console is not decentralized. It is maintained by Juno to provide a stable management platform and up-to-date developer experience. However, all applications, data, and infrastructure you deploy through it remain under your control. -**Satellites**: Satellites serve as comprehensive entities that include memory, permission checks, and other Juno abstractions. Essentially, a satellite is a container for a developer's project or dApp, encompassing all necessary data, storage, application bundles, and assets. Each satellite operates independently and is dedicated to a single application, ensuring clear organization and management. +In the future, there is a strong will to resolve this dependency by making the Console self-hostable or governed by a DAO, aligning it with the same principles of ownership and autonomy as the rest of the platform. -**Orbiters**: Orbiters are specialized smart contracts used for analytics, functioning as a decentralized alternative to services like Google Analytics. They collect and process data, providing developers with valuable insights into their applications' performance and usage patterns. Like satellites, orbiters are fully controlled by the developer. +It is worth noting that Juno is fully open source. Anyone can review its source code at any time. And while not formally documented, the Console is already self-hostable today — offering anyone who wants full control over the entire stack the option to do so. + +::: + +### Observatory + +The Observatory is a proxy service used solely for developer notifications. When monitoring is enabled in a developer’s Mission Control, events such as automatic top-up successes or failures trigger a message sent through the Observatory to notify the developer via email. + +This setup ensures that each Mission Control does not need to maintain its own notification infrastructure. The Observatory only forwards messages — it does not monitor, modify, or access any application logic or data. + +### CDN + +Juno maintains a CDN that stores libraries, templates, and pre-built WASM code. These pre-built WASM containers are official module versions shipped by Juno. When a new release is available, it is uploaded to the CDN, allowing developers to upgrade e.g. their Satellites using the latest version. + +While it functions as a CDN, technically it’s not a traditional content delivery network. It is itself a Satellite. --- -## Libraries, Tools and Templates +## Developer-Owned Spaces + +### Mission Control + +Mission Control is your personal management container. It tracks your Satellites and Orbiters, and it acts as your wallet. -In addition to the smart contracts themselves, Juno also provides a variety of libraries, tools and templates. These are meant to be used within the developer workflow when developers start, maintain, and develop their projects. They are designed to provide the best state-of-the-art developer experience. +You use it for example to spin up new containers or provide [cycles](../terminology.md#cycles) to keep your modules running. It serves as your central hub for managing projects and resources. -- **Javascript Libraries**: - - **Core**: The core client library for interacting with satellites. +Mission Control belongs to you. No one else can access it — not Juno, not the Console, not any other service. -- **Analytics**: A tracker for integrating analytics. +### Satellites -- **Admin**: Tools for interfacing with admin features, enabling project management. +Satellites are your applications. Each one is a self-contained unit that bundles: -- **CLI**: A command-line interface for administrative purposes, allowing developers to manage their smart contracts and projects from the terminal. +- Frontend assets +- Default backend features +- Custom serverless functions +- Data and storage +- Permissions and access control -- **Plugins**: Various plugins meant to ease the integration of Juno in frontend applications, specifically for ViteJS and NextJs. +### Orbiters + +Orbiters provide analytics — a decentralized alternative to services like Google Analytics. Orbiters collect traffic, page views, and device information, under your ownership and without exposing user data to third parties. + +--- -- **GitHub Action**: Automation tools for interacting with and deploying via GitHub. +## CI/CD and Deployment -- **Docker Images**: Pre-configured Docker images for local dApp development and end-to-end (E2E) testing, providing a consistent development environment. +You can deploy and upgrade your Satellites using GitHub Actions or the Juno CLI. -- **Plugins**: Various JS libraries +- Deployment automation is opt-in. +- Juno does not control or interfere with your deployed app. +- Once live, your apps remain running independently. -- **Templates**: To help new developers discover Juno or seasoned developers start new projects, Juno provides a set of templates for the most well-known frontend frameworks, namely NextJS, React, Vue, Svelte, Astro, and Angular. +Each Satellite uses a role-based permission system managed via [access keys](./access-keys.md), letting you decide whether to retain full access, delegate writable access, or allow third parties to solely propose changes. --- -## Documentation and Communication +## Libraries, Tools, and Emulator -Juno maintains a website that serves as the landing page and documentation hub for developers. It offers comprehensive guides, tutorials, and resources to help developers get started with Juno, understand its features, and make the most of the platform. Additionally, the website plays a crucial role in communication and SEO, helping to attract new users, engage the community, and provide updates about the platform. This site is a key component for onboarding new users, supporting the developer community, and increasing Juno’s visibility and reach. +Juno provides many JavaScript libraries, Rust crates, templates and tooling to get started and integrate with your workflow. You can find all the code in the [Juno GitHub organization](https://github.com/junobuild). -The website will not be part of the DAO, as it requires frequent updates to reflect changes such as those in tooling and libraries, and because it is also used for communication, such as when new tutorials are published. +It also provides an emulator for [local development](../guides/local-development.mdx) that mimics as closely as possible the experience you get in production. From 5a7541c8ab2312ebca6eebb04aaa553fc5de8459 Mon Sep 17 00:00:00 2001 From: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 18 Jul 2025 14:18:43 +0000 Subject: [PATCH 4/8] =?UTF-8?q?=F0=9F=93=84=20Update=20LLMs.txt=20snapshot?= =?UTF-8?q?=20for=20PR=20review?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .llms-snapshots/llms-full.txt | 125 ++++++++++++++++++++++++---------- .llms-snapshots/llms.txt | 2 +- 2 files changed, 89 insertions(+), 38 deletions(-) diff --git a/.llms-snapshots/llms-full.txt b/.llms-snapshots/llms-full.txt index 3168508d..e07dab11 100644 --- a/.llms-snapshots/llms-full.txt +++ b/.llms-snapshots/llms-full.txt @@ -6702,71 +6702,122 @@ This method is useful if you want to generate a completely new key and apply it This action will overwrite the previously saved key used to configure your local CLI environment. -# Technical Architecture +# Architecture -The architecture of Juno is designed to give developers complete control over their data and applications, ensuring a decentralized and secure development environment. It continuously evolves to meet the needs of developers and to incorporate the latest advancements. +Juno is your own self-contained execution space. Everything your app needs — frontend, backend logic, storage — gets bundled into a single deployable WebAssembly (WASM) container called a Satellite. + +One artifact. One push. That's your app. + +No DevOps. No backend boilerplate. No surprise complexity. + +Juno's architecture is designed to give developers complete control and ownership. It combines familiar developer workflows with an environment that runs independently once deployed — without Juno's intervention. + + ![Juno architecture schema showing developer control flow](/assets/images/architecture-ea813c74e7ec12ec0989052392308143.png) --- -## Core Components +## How It Works + +A typical Juno development flow looks like this: + +1. **Build your frontend** using Next.js, React, SvelteKit, Vue or any other framework you love (or none). +2. **Add backend logic** (if needed) via serverless functions written in Rust or TypeScript. +3. **Bundle everything into a Satellite** — a single WebAssembly container that holds your entire application, including its logic, state, and storage. +4. **Deploy using the CLI or GitHub Actions.** No servers to configure. No infrastructure to manage. + +Once deployed, your Satellite runs independently in an unstoppable environment, entirely under your control. + +--- + +## Platform Services + +Juno provides supporting services to manage your projects, while keeping everything under your ownership: + +### Console + +The Console is a platform for managing your projects. It runs as its own container, combining a user interface with orchestration logic. -**Console**: The console is an admin interface for developers, providing a comprehensive suite of tools to manage and customize their projects. It maintains a list of Mission Control smart contracts and their associated anonymous user IDs. When a developer signs in, the console retrieves the developer's Mission Control and sends this information back to the developer's browser, allowing them to manage their Mission Control, satellites, and orbiters independently, with no control or intervention from Juno. +It only holds one piece of data: a keypair linking each developer’s anonymous ID to their Mission Control ID. -The console offers a full range of administrative features for managing smart contracts, including the ability to top up, start, stop, and delete projects, as well as create new projects. Developers can manage anonymous users associated with their projects and handle data management tasks such as creating collections and entries in the datastore or storage. Additionally, the console allows for customization by setting new custom domains for projects. Developers can also consult logs from serverless functions and set up monitoring to keep track of application performance and health. +When you sign in, the Console returns your Mission Control ID. From there, all project management happens under your control. The Console does not have access to your apps, your data, or your infrastructure. + +It provides services such as: + +* Creating, upgrading, and deleting Satellites. +* Managing authentication, storage, data, and application state. +* Monitoring logs from serverless functions. +* Setting custom domains. +* Spinning up and reviewing analytics. + +You can access the Console at [console.juno.build](https://console.juno.build). + +**Note:** -This user-friendly interface ensures that developers have full control and flexibility over their projects, enhancing their ability to build and maintain decentralized applications efficiently. +The Console is not decentralized. It is maintained by Juno to provide a stable management platform and up-to-date developer experience. However, all applications, data, and infrastructure you deploy through it remain under your control. -**Observatory**: The observatory is a specialized smart contract that developers authorize to call specific information through their Mission Control, particularly regarding the current status of their smart contracts. In essence, the observatory acts as a watchdog, performing periodic checks to monitor and ensure the proper lifecycle management of the developers' smart contracts. While it currently only reads information, it might be extended in the future to perform additional tasks such as automatic top-up. +In the future, there is a strong will to resolve this dependency by making the Console self-hostable or governed by a DAO, aligning it with the same principles of ownership and autonomy as the rest of the platform. -**CDN**: The CDN is a satellite that holds various libraries and assets used by Juno. It contains the metadata of WebAssembly (WASM) source files that developers use when upgrading their smart contracts. When a new version of any developer's smart contract is released, the updated version is published to the CDN. This ensures that releases are shipped end-to-end securely, providing a seamless and secure upgrade process for developers. +It is worth noting that Juno is fully open source. Anyone can review its source code at any time. And while not formally documented, the Console is already self-hostable today — offering anyone who wants full control over the entire stack the option to do so. -The Console, Observatory, and CDN are the smart contracts which aim to be controlled by a Juno DAO. +### Observatory + +The Observatory is a proxy service used solely for developer notifications. When monitoring is enabled in a developer’s Mission Control, events such as automatic top-up successes or failures trigger a message sent through the Observatory to notify the developer via email. + +This setup ensures that each Mission Control does not need to maintain its own notification infrastructure. The Observatory only forwards messages — it does not monitor, modify, or access any application logic or data. + +### CDN + +Juno maintains a CDN that stores libraries, templates, and pre-built WASM code. These pre-built WASM containers are official module versions shipped by Juno. When a new release is available, it is uploaded to the CDN, allowing developers to upgrade e.g. their Satellites using the latest version. + +While it functions as a CDN, technically it’s not a traditional content delivery network. It is itself a Satellite. --- -## Developers Components +## Developer-Owned Spaces + +### Mission Control + +Mission Control is your personal management container. It tracks your Satellites and Orbiters, and it acts as your wallet. + +You use it for example to spin up new containers or provide [cycles](/docs/terminology.md#cycles) to keep your modules running. It serves as your central hub for managing projects and resources. + +Mission Control belongs to you. No one else can access it — not Juno, not the Console, not any other service. + +### Satellites + +Satellites are your applications. Each one is a self-contained unit that bundles: -**Mission Control**: Each developer is assigned a unique smart contract known as Mission Control. This smart contract acts as a hub for managing all of a developer's smart contracts (projects and tools), as well as serving as a wallet. This ensures that developers maintain full control over their applications and funds, with Juno having no control, rights, or access to any of the developer's creations. +* Frontend assets +* Default backend features +* Custom serverless functions +* Data and storage +* Permissions and access control -**Satellites**: Satellites serve as comprehensive entities that include memory, permission checks, and other Juno abstractions. Essentially, a satellite is a container for a developer's project or dApp, encompassing all necessary data, storage, application bundles, and assets. Each satellite operates independently and is dedicated to a single application, ensuring clear organization and management. +### Orbiters -**Orbiters**: Orbiters are specialized smart contracts used for analytics, functioning as a decentralized alternative to services like Google Analytics. They collect and process data, providing developers with valuable insights into their applications' performance and usage patterns. Like satellites, orbiters are fully controlled by the developer. +Orbiters provide analytics — a decentralized alternative to services like Google Analytics. Orbiters collect traffic, page views, and device information, under your ownership and without exposing user data to third parties. --- -## Libraries, Tools and Templates +## CI/CD and Deployment -In addition to the smart contracts themselves, Juno also provides a variety of libraries, tools and templates. These are meant to be used within the developer workflow when developers start, maintain, and develop their projects. They are designed to provide the best state-of-the-art developer experience. +You can deploy and upgrade your Satellites using GitHub Actions or the Juno CLI. -* **Javascript Libraries**: - - * **Core**: The core client library for interacting with satellites. -* **Analytics**: A tracker for integrating analytics. - -* **Admin**: Tools for interfacing with admin features, enabling project management. - -* **CLI**: A command-line interface for administrative purposes, allowing developers to manage their smart contracts and projects from the terminal. - -* **Plugins**: Various plugins meant to ease the integration of Juno in frontend applications, specifically for ViteJS and NextJs. - -* **GitHub Action**: Automation tools for interacting with and deploying via GitHub. - -* **Docker Images**: Pre-configured Docker images for local dApp development and end-to-end (E2E) testing, providing a consistent development environment. - -* **Plugins**: Various JS libraries - -* **Templates**: To help new developers discover Juno or seasoned developers start new projects, Juno provides a set of templates for the most well-known frontend frameworks, namely NextJS, React, Vue, Svelte, Astro, and Angular. - +* Deployment automation is opt-in. +* Juno does not control or interfere with your deployed app. +* Once live, your apps remain running independently. + +Each Satellite uses a role-based permission system managed via [access keys](/docs/miscellaneous/access-keys.md), letting you decide whether to retain full access, delegate writable access, or allow third parties to solely propose changes. --- -## Documentation and Communication +## Libraries, Tools, and Emulator -Juno maintains a website that serves as the landing page and documentation hub for developers. It offers comprehensive guides, tutorials, and resources to help developers get started with Juno, understand its features, and make the most of the platform. Additionally, the website plays a crucial role in communication and SEO, helping to attract new users, engage the community, and provide updates about the platform. This site is a key component for onboarding new users, supporting the developer community, and increasing Juno’s visibility and reach. +Juno provides many JavaScript libraries, Rust crates, templates and tooling to get started and integrate with your workflow. You can find all the code in the [Juno GitHub organization](https://github.com/junobuild). -The website will not be part of the DAO, as it requires frequent updates to reflect changes such as those in tooling and libraries, and because it is also used for communication, such as when new tutorials are published. +It also provides an emulator for [local development](/docs/guides/local-development.md) that mimics as closely as possible the experience you get in production. # Best Practices diff --git a/.llms-snapshots/llms.txt b/.llms-snapshots/llms.txt index b9b12d80..d444e88a 100644 --- a/.llms-snapshots/llms.txt +++ b/.llms-snapshots/llms.txt @@ -107,7 +107,7 @@ Juno is your self-contained serverless platform for building full-stack web apps ## Miscellaneous - [Access Keys](https://juno.build/docs/miscellaneous/access-keys.md): Learn how to manage access keys in Juno, their roles, and how to generate them using the CLI or Console. -- [Architecture](https://juno.build/docs/miscellaneous/architecture.md): Explore the technical architecture of Juno, a decentralized development platform providing developers with full control over their data and applications. +- [Architecture](https://juno.build/docs/miscellaneous/architecture.md): Explore the architecture behind Juno — a self-contained execution space where your entire application lives in a single deployable unit under your full control. - [Best Practices](https://juno.build/docs/miscellaneous/best-practices.md): This page provides recommendations to improve your application when developing and deploying with Juno. - [Infrastructure](https://juno.build/docs/miscellaneous/infrastructure.md): Discover how Juno's infrastructure leverages Web3 technologies to create a secure, scalable environment for decentralized applications. - [Memory](https://juno.build/docs/miscellaneous/memory.md): This page explains how memory works conceptually and how you can monitor its usage through the Console. From 591e6d0ff31f606e558c99ff9c9ed3dbec214a9e Mon Sep 17 00:00:00 2001 From: David Dal Busco Date: Fri, 18 Jul 2025 16:42:04 +0200 Subject: [PATCH 5/8] docs: quote Signed-off-by: David Dal Busco --- docs/miscellaneous/architecture.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/miscellaneous/architecture.md b/docs/miscellaneous/architecture.md index 0e5453af..aea93be6 100644 --- a/docs/miscellaneous/architecture.md +++ b/docs/miscellaneous/architecture.md @@ -51,7 +51,7 @@ Juno provides supporting services to manage your projects, while keeping everyth The Console is a platform for managing your projects. It runs as its own container, combining a user interface with orchestration logic. -It only holds one piece of data: a keypair linking each developer’s anonymous ID to their Mission Control ID. +It only holds one piece of data: a keypair linking each developer's anonymous ID to their Mission Control ID. When you sign in, the Console returns your Mission Control ID. From there, all project management happens under your control. The Console does not have access to your apps, your data, or your infrastructure. @@ -77,7 +77,7 @@ It is worth noting that Juno is fully open source. Anyone can review its source ### Observatory -The Observatory is a proxy service used solely for developer notifications. When monitoring is enabled in a developer’s Mission Control, events such as automatic top-up successes or failures trigger a message sent through the Observatory to notify the developer via email. +The Observatory is a proxy service used solely for developer notifications. When monitoring is enabled in a developer's Mission Control, events such as automatic top-up successes or failures trigger a message sent through the Observatory to notify the developer via email. This setup ensures that each Mission Control does not need to maintain its own notification infrastructure. The Observatory only forwards messages — it does not monitor, modify, or access any application logic or data. @@ -85,7 +85,7 @@ This setup ensures that each Mission Control does not need to maintain its own n Juno maintains a CDN that stores libraries, templates, and pre-built WASM code. These pre-built WASM containers are official module versions shipped by Juno. When a new release is available, it is uploaded to the CDN, allowing developers to upgrade e.g. their Satellites using the latest version. -While it functions as a CDN, technically it’s not a traditional content delivery network. It is itself a Satellite. +While it functions as a CDN, technically it's not a traditional content delivery network. It is itself a Satellite. --- From bdb4a5e9bf3f3d8c10a1b41a724bdff7b612af56 Mon Sep 17 00:00:00 2001 From: David Dal Busco Date: Fri, 18 Jul 2025 16:54:00 +0200 Subject: [PATCH 6/8] docs: review infrastructure Signed-off-by: David Dal Busco --- docs/miscellaneous/infrastructure.md | 30 ++++++++++++++++++---------- 1 file changed, 20 insertions(+), 10 deletions(-) diff --git a/docs/miscellaneous/infrastructure.md b/docs/miscellaneous/infrastructure.md index a0e0084b..d2a55225 100644 --- a/docs/miscellaneous/infrastructure.md +++ b/docs/miscellaneous/infrastructure.md @@ -1,10 +1,20 @@ --- -description: Discover how Juno's infrastructure leverages Web3 technologies to create a secure, scalable environment for decentralized applications. +title: Infrastructure +description: Discover how Juno's infrastructure blends self-hosted deployment with WebAssembly containers, focusing on simplicity, control, and modern Web2-compatible tooling. +keywords: + [ + Juno, + serverless infrastructure, + self-hosted apps, + developer tools, + WebAssembly, + WASM containers + ] --- # Infrastructure -Juno's infrastructure is designed to harness the full potential of Web3 technologies, creating a robust, secure, and scalable environment for developers to build decentralized applications. +Juno's infrastructure is designed to provide developers with a simple, secure, and self-contained execution environment. It blends WebAssembly container deployment with supporting services that prioritize ownership, transparency, and practical workflows. --- @@ -12,20 +22,20 @@ Juno's infrastructure is designed to harness the full potential of Web3 technolo ![An illustration representing Juno smart contracts living at the top of the Internet Computer](../img/juno-internet-computer.webp) -Juno operates on the Internet Computer (ICP or IC), a blockchain unlike any other. The Internet Computer is akin to adding a super-powered, self-running cloud to the regular internet. It enables the creation of various systems and services on a decentralized network using "canister software", which represents a more advanced version of smart contracts. +Juno operates on the [Internet Computer](https://internetcomputer.org/) (ICP or IC), a blockchain-based open cloud platform designed to run WebAssembly containers in a decentralized setup. Every part of the Juno platform — including your Satellites, Mission Control, Orbiters (analytics), and the platform's own services like the Console — runs as self-contained units on the IC. -The IC comprises a set of protocols that facilitate independent data centers worldwide in coming together to offer a decentralized alternative to the current centralized internet cloud providers, often referred to as Big Tech. These independent entities operate specialized "node machines" to generate the same number of blocks as other machines within their network, ensuring uniformity through a Proof-of-Useful-Work mechanism. Their tasks involve replicating smart contract computations for optimal efficiency. +The Internet Computer connects independent data centers worldwide. Specialized node machines and cryptography ensure that applications run efficiently and consistently, without relying on Big Tech intermediaries. It even enables direct web content delivery from these self-contained units. -Thanks to its architecture, protocols, and cutting-edge cryptography, the Internet Computer stands out as the fastest blockchain, capable of directly delivering web content from smart contracts. This breakthrough enables 100% of online services to function on the blockchain, delivering complete decentralization and cost-effectiveness. +While Juno relies on the Internet Computer as its primary execution layer, it avoids unnecessary blockchain complexity. Developers interact with Juno using familiar frontend and backend development workflows, without needing to manage or understand blockchain infrastructure. --- -## Multi-Blockchain +## Supporting Infrastructure -While the Internet Computer is our current backbone, Juno is not limited to using only the IC. Our infrastructure keeps doors open for future integration with other blockchains. This approach ensures that Juno can adapt and incorporate new technologies as they emerge, maintaining our commitment to decentralization and leveraging the best available blockchain solutions. Furthermore, Juno aims to enable communication across different chains, enhancing interoperability and expanding the possibilities for decentralized applications. +While Juno runs fully on the Internet Computer, two supporting services are maintained to handle a feature that cannot yet be decentralized — sending email notifications. ---- +- Observatory Proxy: To handle IPv6 and deduplication constraints in Internet Computer HTTPS outcalls, Juno uses an additional [proxy](https://github.com/junobuild/proxy) deployed on Google Firebase. This service may be removed in the future as the Internet Computer layer improves. -## Web2 Services +- Email Notifications: Developer notifications triggered by Mission Control monitoring (such as top-up successes or failures) are sent via [Resend](https://resend.com). -While Juno aims to strictly use only Web3 providers and services, there are edge cases where technical or financial limitations necessitate the use of Web2 services. One example is the monitoring tool that sends emails to developers using Google Firebase Functions if their smart contracts are running out of resources. Another example is the usage of the services of the Boundary Nodes, which allow developers to register custom domains for their projects. These types of services are never enforced and are always subject to developers opting-in. +These services are strictly optional and exist only for this specific use case. From 549024c3b9dbf3ededb9e5c2c3aa745aa4f459f0 Mon Sep 17 00:00:00 2001 From: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 18 Jul 2025 14:56:04 +0000 Subject: [PATCH 7/8] =?UTF-8?q?=F0=9F=93=84=20Update=20LLMs.txt=20snapshot?= =?UTF-8?q?=20for=20PR=20review?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .llms-snapshots/llms-full.txt | 27 ++++++++++++++------------- .llms-snapshots/llms.txt | 2 +- 2 files changed, 15 insertions(+), 14 deletions(-) diff --git a/.llms-snapshots/llms-full.txt b/.llms-snapshots/llms-full.txt index e07dab11..b205c04e 100644 --- a/.llms-snapshots/llms-full.txt +++ b/.llms-snapshots/llms-full.txt @@ -6739,7 +6739,7 @@ Juno provides supporting services to manage your projects, while keeping everyth The Console is a platform for managing your projects. It runs as its own container, combining a user interface with orchestration logic. -It only holds one piece of data: a keypair linking each developer’s anonymous ID to their Mission Control ID. +It only holds one piece of data: a keypair linking each developer's anonymous ID to their Mission Control ID. When you sign in, the Console returns your Mission Control ID. From there, all project management happens under your control. The Console does not have access to your apps, your data, or your infrastructure. @@ -6763,7 +6763,7 @@ It is worth noting that Juno is fully open source. Anyone can review its source ### Observatory -The Observatory is a proxy service used solely for developer notifications. When monitoring is enabled in a developer’s Mission Control, events such as automatic top-up successes or failures trigger a message sent through the Observatory to notify the developer via email. +The Observatory is a proxy service used solely for developer notifications. When monitoring is enabled in a developer's Mission Control, events such as automatic top-up successes or failures trigger a message sent through the Observatory to notify the developer via email. This setup ensures that each Mission Control does not need to maintain its own notification infrastructure. The Observatory only forwards messages — it does not monitor, modify, or access any application logic or data. @@ -6771,7 +6771,7 @@ This setup ensures that each Mission Control does not need to maintain its own n Juno maintains a CDN that stores libraries, templates, and pre-built WASM code. These pre-built WASM containers are official module versions shipped by Juno. When a new release is available, it is uploaded to the CDN, allowing developers to upgrade e.g. their Satellites using the latest version. -While it functions as a CDN, technically it’s not a traditional content delivery network. It is itself a Satellite. +While it functions as a CDN, technically it's not a traditional content delivery network. It is itself a Satellite. --- @@ -6853,7 +6853,7 @@ import { defineConfig } from "@junobuild/config";export default defineConfig({ # Infrastructure -Juno's infrastructure is designed to harness the full potential of Web3 technologies, creating a robust, secure, and scalable environment for developers to build decentralized applications. +Juno's infrastructure is designed to provide developers with a simple, secure, and self-contained execution environment. It blends WebAssembly container deployment with supporting services that prioritize ownership, transparency, and practical workflows. --- @@ -6861,23 +6861,24 @@ Juno's infrastructure is designed to harness the full potential of Web3 technolo ![An illustration representing Juno smart contracts living at the top of the Internet Computer](/assets/images/juno-internet-computer-905a4ce5071e12858c93525e424b9d30.webp) -Juno operates on the Internet Computer (ICP or IC), a blockchain unlike any other. The Internet Computer is akin to adding a super-powered, self-running cloud to the regular internet. It enables the creation of various systems and services on a decentralized network using "canister software", which represents a more advanced version of smart contracts. +Juno operates on the [Internet Computer](https://internetcomputer.org/) (ICP or IC), a blockchain-based open cloud platform designed to run WebAssembly containers in a decentralized setup. Every part of the Juno platform — including your Satellites, Mission Control, Orbiters (analytics), and the platform's own services like the Console — runs as self-contained units on the IC. -The IC comprises a set of protocols that facilitate independent data centers worldwide in coming together to offer a decentralized alternative to the current centralized internet cloud providers, often referred to as Big Tech. These independent entities operate specialized "node machines" to generate the same number of blocks as other machines within their network, ensuring uniformity through a Proof-of-Useful-Work mechanism. Their tasks involve replicating smart contract computations for optimal efficiency. +The Internet Computer connects independent data centers worldwide. Specialized node machines and cryptography ensure that applications run efficiently and consistently, without relying on Big Tech intermediaries. It even enables direct web content delivery from these self-contained units. -Thanks to its architecture, protocols, and cutting-edge cryptography, the Internet Computer stands out as the fastest blockchain, capable of directly delivering web content from smart contracts. This breakthrough enables 100% of online services to function on the blockchain, delivering complete decentralization and cost-effectiveness. +While Juno relies on the Internet Computer as its primary execution layer, it avoids unnecessary blockchain complexity. Developers interact with Juno using familiar frontend and backend development workflows, without needing to manage or understand blockchain infrastructure. --- -## Multi-Blockchain +## Supporting Infrastructure -While the Internet Computer is our current backbone, Juno is not limited to using only the IC. Our infrastructure keeps doors open for future integration with other blockchains. This approach ensures that Juno can adapt and incorporate new technologies as they emerge, maintaining our commitment to decentralization and leveraging the best available blockchain solutions. Furthermore, Juno aims to enable communication across different chains, enhancing interoperability and expanding the possibilities for decentralized applications. +While Juno runs fully on the Internet Computer, two supporting services are maintained to handle a feature that cannot yet be decentralized — sending email notifications. ---- - -## Web2 Services +* Observatory Proxy: To handle IPv6 and deduplication constraints in Internet Computer HTTPS outcalls, Juno uses an additional [proxy](https://github.com/junobuild/proxy) deployed on Google Firebase. This service may be removed in the future as the Internet Computer layer improves. + +* Email Notifications: Developer notifications triggered by Mission Control monitoring (such as top-up successes or failures) are sent via [Resend](https://resend.com). + -While Juno aims to strictly use only Web3 providers and services, there are edge cases where technical or financial limitations necessitate the use of Web2 services. One example is the monitoring tool that sends emails to developers using Google Firebase Functions if their smart contracts are running out of resources. Another example is the usage of the services of the Boundary Nodes, which allow developers to register custom domains for their projects. These types of services are never enforced and are always subject to developers opting-in. +These services are strictly optional and exist only for this specific use case. # Memory diff --git a/.llms-snapshots/llms.txt b/.llms-snapshots/llms.txt index d444e88a..5d3d8d1e 100644 --- a/.llms-snapshots/llms.txt +++ b/.llms-snapshots/llms.txt @@ -109,7 +109,7 @@ Juno is your self-contained serverless platform for building full-stack web apps - [Access Keys](https://juno.build/docs/miscellaneous/access-keys.md): Learn how to manage access keys in Juno, their roles, and how to generate them using the CLI or Console. - [Architecture](https://juno.build/docs/miscellaneous/architecture.md): Explore the architecture behind Juno — a self-contained execution space where your entire application lives in a single deployable unit under your full control. - [Best Practices](https://juno.build/docs/miscellaneous/best-practices.md): This page provides recommendations to improve your application when developing and deploying with Juno. -- [Infrastructure](https://juno.build/docs/miscellaneous/infrastructure.md): Discover how Juno's infrastructure leverages Web3 technologies to create a secure, scalable environment for decentralized applications. +- [Infrastructure](https://juno.build/docs/miscellaneous/infrastructure.md): Discover how Juno's infrastructure blends self-hosted deployment with WebAssembly containers, focusing on simplicity, control, and modern Web2-compatible tooling. - [Memory](https://juno.build/docs/miscellaneous/memory.md): This page explains how memory works conceptually and how you can monitor its usage through the Console. - [Provisioning Options](https://juno.build/docs/miscellaneous/provisioning-options.md): The creation wizard for Satellites and Orbiters includes advanced provisioning options for developers who need more control. - [Wallet](https://juno.build/docs/miscellaneous/wallet.md): This section provides guidance on managing your assets and cycles with your wallet, which are essential for maintaining and providing enough resources for your modules in the Juno ecosystem. From 4257be55569f6493af5a1804ed852780d5c927a2 Mon Sep 17 00:00:00 2001 From: David Dal Busco Date: Fri, 18 Jul 2025 17:01:48 +0200 Subject: [PATCH 8/8] feat: review redirect Signed-off-by: David Dal Busco --- juno.config.ts | 88 ++++++-------------------------------------------- 1 file changed, 9 insertions(+), 79 deletions(-) diff --git a/juno.config.ts b/juno.config.ts index 66d7bc15..714d42e4 100644 --- a/juno.config.ts +++ b/juno.config.ts @@ -40,12 +40,12 @@ const redirects: StorageConfigRedirect[] = [ }, { source: "/docs/add-juno-to-an-app/install-the-sdk-and-initialize-juno", - location: "/docs/add-juno-to-an-app/setup-the-sdk", + location: "/docs/setup-the-sdk", code: 301 }, { source: "/docs/add-juno-to-an-app/deploy-your-app", - location: "/docs/add-juno-to-an-app/deploy", + location: "/docs/category/deployment", code: 301 }, { @@ -80,102 +80,32 @@ const redirects: StorageConfigRedirect[] = [ }, { source: "/docs/architecture", - location: "/docs/white-paper/architecture", + location: "/docs/miscellaneous/architecture", code: 301 }, { source: "/docs/roadmap", - location: "/docs/white-paper/architecture", - code: 301 - }, - { - source: "/docs/category/infrastructure", - location: "/docs/white-paper/infrastructure", + location: "/", code: 301 }, { source: "/docs/category/infrastructure", - location: "/docs/white-paper/infrastructure", + location: "/docs/miscellaneous/infrastructure", code: 301 }, { source: "/docs/infrastructure/internet-computer", - location: "/docs/white-paper/infrastructure", + location: "/docs/miscellaneous/infrastructure", code: 301 }, { source: "/docs/infrastructure/sustainability", - location: "/docs/white-paper/infrastructure", - code: 301 - }, - // White Paper 1.0.0: Typo in treasury tokens reported by the community on Twitter. - { - source: - "/assets/files/juno-white-paper-9dc998f30569e21ccb46a4d7ed51ff56.pdf", - location: "/files/juno-white-paper.pdf", - code: 301 - }, - // White Paper 1.0.1: The token distribution was correct, but the pie charts did not perfectly represent the percentages. - { - source: - "/assets/files/juno-white-paper-47063bc5d28d71fe7534bfa249ce3f14.pdf", - location: "/files/juno-white-paper.pdf", - code: 301 - }, - // Pages redirected after SNS DAO failure. - { - source: "/files/juno-white-paper.pdf", - location: "/docs/white-paper/intro", - code: 301 - }, - { - source: "/docs/category/tokenomics", - location: "/docs/white-paper/intro", - code: 301 - }, - { - source: "/docs/white-paper/tokenomics/purpose", - location: "/docs/white-paper/intro", - code: 301 - }, - { - source: "/docs/white-paper/tokenomics/outgoings", - location: "/docs/white-paper/intro", - code: 301 - }, - { - source: "/docs/white-paper/tokenomics/total-supply", - location: "/docs/white-paper/intro", - code: 301 - }, - { - source: "/docs/white-paper/tokenomics/token-distribution", - location: "/docs/white-paper/intro", - code: 301 - }, - { - source: "/docs/white-paper/tokenomics/voting-power", - location: "/docs/white-paper/intro", - code: 301 - }, - { - source: "/docs/white-paper/tokenomics/initial-sns-configuration", - location: "/docs/white-paper/intro", - code: 301 - }, - { - source: "/docs/white-paper/tokenomics/sns-swap-configuration", - location: "/docs/white-paper/intro", - code: 301 - }, - { - source: "/docs/white-paper/legal-umbrella", - location: "/docs/white-paper/intro", + location: "/docs/miscellaneous/infrastructure", code: 301 }, { - source: "/docs/white-paper/contributors", - location: "/docs/white-paper/intro", + source: "/docs/white-paper/**/*", + location: "/", code: 301 }, {