About

Get Started

Docs

The Sølid Book

Sølid

Sølid is poised to redefine the landscape of JavaScript runtimes, providing a seamless programming experience for server, desktop, and mobile computing. By eliminating the need for developers to relearn their programming skills, Sølid empowers them to effortlessly transition between different platforms.

What sets Sølid apart is its universality. It's designed to operate on a wide array of operating systems, including iOS, Android, macOS, Windows, and Linux, wherever both V8 and Golang are accessible. This broad compatibility ensures that developers can utilize Sølid's capabilities across a multitude of environments without facing compatibility roadblocks.

Sølid's vision extends beyond traditional platforms. It aspires to unify decentralized computing within a single application runtime. This means that developers can harness its power to create applications that leverage decentralized infrastructure, enhancing security, resilience, and user control. Furthermore, Sølid simplifies complex internet architectures, streamlining the development process by abstracting intricacies and allowing developers to focus on creating valuable applications.

The inclusion of containerd support, a widely used runtime for containers like Docker, highlights Sølid's adaptability to modern software deployment practices. By accommodating containerized workloads, Sølid eases the development and deployment of applications in containerized environments, fostering efficient, scalable, and portable solutions.

As Sølid paves the way for the future, it envisions a more cohesive and decentralized computing landscape. By facilitating the seamless integration of various platforms, streamlining complex internet structures, and supporting modern containerization practices, Sølid is propelling the programming experience into a new era of accessibility, efficiency, and versatility.

Distributing

This documentation is available for download and can be printed using a capable browser such as Google Chrome or Firefox.

We version control this documentation, and it is available as part of the @gosolid/solid-docs NPM package, corresponding to the version of solid it is released for.

If you have a public mirror that can mirror this site, we appreciate your support, please get in touch by creating a GitHub Issue or by email.

Click here to download a full printable archive of this documentation site.

Copyright

Copyright is held by Wisdom and Love and maintains control of the codebase.

Anyone contributing resigns Copyright to Wisdom and Love.

A perpetual MIT licence is available for any code contributed to Wisdom and Love.

Wisdom and Love is Here!

About

Sølid, the innovative runtime engine developed by Grexie, is a powerful tool that empowers programmers to build decentralized, secure, and high-performance applications. Tailored for the modern internet landscape, Sølid offers a range of capabilities that enhance the development experience while prioritizing data privacy and efficiency.

At its core, Sølid is designed to seamlessly integrate with both Node.js and WebRTC, offering a unique combination of server-side capabilities and real-time communication. This fusion enables programmers to create applications that leverage the strengths of both technologies, resulting in responsive, interactive, and globally distributed software.

Sølid's architecture is extensible and security aware, offering programmers a flexible foundation to build upon. Its decentralized design allows for customized access control, ensuring that data infiltration decisions are in the hands of the user. This level of control aligns with modern data privacy standards and empowers programmers to create applications that respect user consent.

Programmers using Sølid can tap into its efficient traffic distribution mechanism, benefiting from the integration of WebRTC. This means that applications can intelligently route traffic from Tier 1 to Tier 2 connections, optimizing data delivery and minimizing latency. Additionally, Sølid's support for geographical availability and redundancy ensures that applications remain highly accessible and reliable.

Sølid's security features stand out, especially in private cloud environments. With a least-access security principle by default, programmers can rest assured that data remains protected. Moreover, Sølid's user-friendly dashboard allows for straightforward customization, enabling access when necessary.

Whether hosting applications on public or private clouds, Sølid accommodates a wide range of setups. Programmers can leverage their existing infrastructure, utilize public cloud services, or tap into Grexie's own public cloud offering. This flexibility ensures that applications can be deployed in environments that suit their specific needs.

In a world where data privacy and user control are paramount, Sølid equips programmers with the tools to create applications that uphold these values. Its combination of decentralization, security, and efficiency empowers programmers to contribute to a more user-centric, secure, and responsive digital ecosystem. As the internet continues to evolve, Sølid stands as a beacon for programmers seeking to build applications that align with the future of decentralized, privacy-conscious technology.

The decentralized internet

Sølid, an innovative runtime engine developed by Grexie, stands at the forefront of the mission to decentralize the internet. Crafted on the robust foundation of the Golang programming language and leveraging the power of the V8 engine, Sølid emerges as a critical enabler for Grexie Cloud's vision of reshaping the digital landscape.

At its core, Sølid is a Node.js-compatible runtime engine that plays a pivotal role in driving the decentralization paradigm. It serves as the technological bridge between traditional Node.js applications and the novel decentralized infrastructure that Grexie Cloud champions. By being Node.js-compatible, Sølid ensures a smooth transition for developers, allowing them to leverage their existing skills while embracing the innovative opportunities presented by the decentralized internet.

Built on Golang, Sølid inherits the performance, scalability, and efficiency attributes that the language is renowned for. This strategic choice empowers Sølid to efficiently manage the intricacies of decentralized applications, ensuring optimal utilization of resources across distributed nodes. The integration of the V8 engine, renowned for its speed and optimization prowess, further enhances Sølid's capabilities, making it well-equipped to handle the dynamic demands of modern internet applications.

Sølid's significance within the Grexie ecosystem is monumental. It serves as the linchpin that binds Grexie Cloud's decentralized architecture. Through Sølid, Grexie Cloud is able to seamlessly distribute applications, services, and data across a network of nodes, fostering a resilient and fault-tolerant environment. This approach not only enhances security by mitigating single points of failure but also contributes to reduced latency and enhanced user experiences.

The runtime engine's flexibility is another hallmark. Developers can harness Sølid's capabilities to create decentralized applications that capitalize on the benefits of peer-to-peer communication, cryptographic security, and data ownership. This flexibility extends to diverse industries, ranging from finance to healthcare, where secure and reliable data distribution is paramount.

In essence, Sølid serves as the embodiment of Grexie's vision for the future of the internet. It is a technological cornerstone that empowers developers, businesses, and users to engage with a decentralized digital landscape seamlessly. By facilitating the transition to decentralized applications and services, Sølid lays the groundwork for a more democratic, secure, and resilient internet ecosystem.

Grexie's innovative approach of rewriting the Node.js runtime through a Golang-native runtime represents a significant leap forward in enhancing the efficiency and capabilities of Node.js applications. By seamlessly integrating the strengths of both languages, Grexie introduces a novel paradigm that benefits developers, users, and the broader technology landscape.

Node.js, known for its event-driven, non-blocking architecture, has become a cornerstone for building scalable and responsive applications. However, the Grexie enhancement takes Node.js to the next level by harnessing the power of Golang, a language renowned for its performance, concurrency handling, and efficient memory management.

One of the standout features of Grexie's innovation is the native stream support it provides for both operational workloads and network-intensive I/O operations. Streams are a fundamental concept in Node.js, allowing data to be processed in chunks rather than loading entire datasets into memory, which is critical for managing large volumes of data efficiently. By optimizing this stream functionality using Golang's runtime, Grexie maximizes throughput and minimizes latency, resulting in streamlined data processing and improved application performance.

Furthermore, Golang's concurrency model is exceptionally well-suited for handling high loads and distributing workloads across multiple threads or goroutines, which aligns seamlessly with Node.js's asynchronous design philosophy. This combination allows Grexie to offer a runtime environment that excels in managing both compute-heavy tasks and I/O-bound operations, which is particularly valuable for modern applications that often demand a balance of both.

The fusion of Node.js and Golang within the Grexie framework empowers developers to build applications that are not only responsive and scalable but also optimized for resource utilization. This optimization extends to network-heavy I/O, which is crucial in today's connected world where data transfer speeds and efficient handling of network interactions are paramount.

Ultimately, Grexie's achievement of creating a Golang-native runtime for Node.js showcases the organization's commitment to innovation and performance-driven solutions. By reimagining the underlying runtime infrastructure, Grexie demonstrates its dedication to pushing the boundaries of what is possible with Node.js, leading to applications that are not only powerful and versatile but also optimized for modern computing demands.

The integration of WebRTC into Sølid marks a significant advancement in the capabilities of Grexie's technology stack. WebRTC's inherent ability to establish real-time communication channels, coupled with Sølid's innovative Golang-native runtime, opens the door to a truly global and interconnected network environment.

WebRTC's strength lies in its capacity to enable peer-to-peer communication directly between devices, often within web browsers, without the need for intermediaries. By integrating WebRTC into Sølid, Grexie enhances the potential of its runtime engine to communicate with virtually any data center, including personal networks like your home network. Here's how this integration can transform connectivity:

  1. Global Data Communication: With WebRTC capabilities integrated into Sølid, applications powered by Grexie can initiate real-time communication with data centers anywhere in the world. This opens up opportunities for seamless data transfer, sharing, and collaboration across geographic boundaries.

  2. Decentralized Data Exchange: Grexie's integration of WebRTC and Sølid aligns perfectly with its vision of decentralizing the internet. With the ability to directly communicate with data centers on a peer-to-peer basis, users and applications can bypass traditional centralized server infrastructure, contributing to a more distributed and resilient online ecosystem.

  3. Secure and Private Communication: WebRTC's encryption and security features, combined with Sølid's optimized runtime, enhance the security of data transmission. Whether communicating with a data center on the other side of the planet or within your home network, the integration prioritizes data privacy and protection.

  4. Dynamic Networking: The ability to communicate with any data center, including your home network, introduces dynamic networking possibilities. This can include scenarios like remote access, IoT device communication, and seamless synchronization of data across various locations.

  5. Real-time Streaming and Interaction: The WebRTC-Sølid combination facilitates real-time streaming of content, enabling interactive experiences with low latency. This is valuable for applications ranging from video conferencing to live streaming to interactive online gaming.

As Grexie continues to pave the way for the internet's evolution, Sølid stands as a testament to the organization's commitment to innovation, empowerment, and the relentless pursuit of a decentralized digital frontier. With Sølid, the future of the internet becomes not just a distant vision but a tangible reality, one where individuals and communities reclaim control over their digital experiences.

Hybrid clouds

Sølid's versatile hosting capabilities mark a significant stride towards democratizing internet infrastructure. Whether it's on a personal server behind a NAT, within an office environment, or on a public cloud like Amazon Web Services (AWS), Sølid empowers users to host their applications and services seamlessly. This flexibility, combined with Sølid's use of WebRTC for distributing traffic, ensures a resilient and responsive network environment.

  1. Personal and Office Hosting: Sølid's ability to run on NATed servers at home or in an office environment addresses the need for decentralized hosting solutions. This means users can leverage their existing resources to host applications, services, and data, reducing the dependency on traditional data centers and central servers.

  2. Public Cloud Hosting: The compatibility of Sølid with public cloud platforms like AWS further broadens hosting options. This is particularly beneficial for those who prefer the scalability and resources offered by cloud providers, enabling seamless deployment on well-established cloud infrastructures.

  3. WebRTC for Traffic Distribution: The integration of WebRTC into Sølid introduces an innovative approach to traffic distribution. WebRTC's real-time communication capabilities are harnessed to efficiently distribute traffic across the internet, ensuring optimal data delivery and minimizing latency.

  4. Overcoming NAT Limitations: Sølid's ability to utilize public nodes when behind a NAT device without port forwarding capabilities is a notable feature. This addresses a common challenge faced by users who want to host services but are restricted by their network configuration. By tapping into accessible public nodes, Sølid ensures that traffic can flow effectively even in such scenarios.

  5. Decentralized Resilience: Sølid's utilization of various hosting environments, including personal, office, and public cloud, contributes to a decentralized and resilient network landscape. This approach minimizes single points of failure, enhances security, and distributes the load for improved overall performance.

In essence, Sølid's adaptability and integration of WebRTC underscore its role in revolutionizing internet hosting. By enabling hosting on a wide range of environments, including behind NAT devices and on public clouds, and by leveraging WebRTC for traffic distribution, Sølid empowers users to create a more distributed and interconnected internet ecosystem. This aligns with Grexie's vision of decentralizing the internet and enhancing user control over their digital experiences.

Indeed, the concepts and features offered by Sølid align with what might be considered common sense in the context of optimizing and decentralizing internet infrastructure. Many of these features address fundamental challenges and needs in the digital landscape, making them intuitive and logical solutions to enhance connectivity and efficiency. By integrating aspects like geographical availability, redundancy, flexible hosting options, and traffic distribution, Sølid leverages common sense principles to create a more resilient, distributed, and responsive network environment.

While the ideas behind Sølid's functionality might seem intuitive, their implementation and integration require sophisticated engineering, innovation, and a deep understanding of networking and distributed systems. Building a system that seamlessly combines these concepts and leverages them to empower users in a practical and effective manner involves complex technical considerations.

The true innovation lies in Grexie's ability to execute on these common-sense principles and develop a comprehensive solution like Sølid that transforms these concepts into a reality. By bridging the gap between intuitive concepts and practical implementation, Grexie is contributing to the evolution of the internet landscape in a way that aligns with the expectations and needs of modern users and developers.

Sølid's advanced traffic distribution capabilities, coupled with its features for geographical availability, redundancy, and flexible hosting options, position it as a robust solution for reshaping the landscape of internet connectivity. Here's a breakdown of its key features:

  1. Traffic Distribution across Tiers: Sølid's ability to distribute traffic from Tier 1 connections to Tier 2 internet connections underscores its capability to optimize data delivery paths. This ensures efficient utilization of network resources and enhanced user experiences.

  2. Geographical Availability: Sølid's built-in geographical availability feature is a crucial asset for applications and services that require regional accessibility. By intelligently directing traffic to nodes based on their geographical proximity, Sølid minimizes latency and enhances performance.

  3. Redundancy and Failover: The ability of Sølid to facilitate traffic takeover by operational nodes in case of suspended or unoperational nodes ensures high availability and minimizes service disruptions. This built-in redundancy mechanism contributes to a reliable and resilient network infrastructure.

  4. Public Endpoint Setup: Sølid offers versatile options for setting up public endpoints. Whether through public cloud services, home DSL or Cable connections with UPnP port forwarding, or via Grexie's dedicated public cloud offering, users have the flexibility to choose the setup that aligns with their requirements.

  5. Consortium and Decentralization: Grexie's call for members to join their consortium as partners to offer public Tier 1 nodes speaks to their commitment to decentralizing the internet. By collaborating with partners to provide Tier 1 nodes for public consumption, Grexie aims to expand the reach of their decentralized infrastructure and create a more distributed network ecosystem.

In summary, Sølid's comprehensive features address a wide spectrum of internet connectivity needs. From optimizing traffic distribution across tiers and ensuring geographical availability to incorporating redundancy and failover mechanisms, Sølid empowers users to build resilient, efficient, and responsive applications and services. Moreover, the consortium approach demonstrates Grexie's dedication to collaborative efforts in realizing their vision of a decentralized internet.

Security

The security measures implemented by Sølid demonstrate its commitment to providing a robust and controlled environment for hosting applications and services. The configurable access controls and security options contribute to creating a secure and controlled environment across both public and private cloud setups:

  1. Public Cloud Security: In the context of public clouds, Sølid's capability to configure access on a per-process and per-isolate basis adds a layer of granularity to security management. This feature allows administrators to restrict access to local network and host-based resources, mitigating potential security vulnerabilities. This fine-grained control ensures that hosted applications have only the necessary access privileges, enhancing the overall security posture.

  2. Private Cloud Security: For private cloud environments, Sølid follows a least-access security principle, aligning with best practices in security. By default, Sølid ensures that access to resources is limited to what is essential, reducing the potential attack surface. Furthermore, the ease of opening access through the built-in Sølid dashboard provides administrators with the flexibility to customize security settings based on their specific requirements.

These security measures cater to the varying needs of users and organizations, striking a balance between accessibility and safeguarding against potential security threats. By allowing administrators to tailor access controls to their use cases, Sølid empowers users to create a secure and controlled hosting environment that aligns with their security protocols and compliance standards.

It's important to note that while these security principles might seem intuitive, their effective implementation requires careful engineering and a deep understanding of both networking and security practices. The fact that Sølid offers these security features as part of its offering underscores its commitment to providing a comprehensive solution that caters to the modern needs of secure application hosting.

Sølid's emphasis on extensibility and security awareness reflects its dedication to providing a flexible yet secure foundation for hosting applications and services. The ability to make informed choices, especially when it comes to data security and privacy, is a pivotal aspect of Sølid's design philosophy. Here are some key points to consider:

  1. Extensibility and Security: The fact that Sølid is designed to be extensible means that it can adapt to a variety of use cases and accommodate the evolving needs of users and applications. This extensibility is crucial as it allows developers and administrators to tailor the system to their specific requirements while maintaining security.

  2. Decentralized Choice: Sølid's decentralized design aligns with the principles of user autonomy and control. The ability to choose whether to allow data infiltration, especially in jurisdictions where such practices might be permissible, empowers users to make decisions aligned with their privacy preferences.

  3. Security and Privacy: Sølid's commitment to security is apparent in its design. The sentiment that private data should remain private is a core tenet of data security and privacy practices. By prioritizing user consent and control, Sølid ensures that users have the final say in granting access to their private data.

  4. Transparency and Consent: The concept of consent is integral to data privacy. Sølid's approach aligns with the principle that data sharing, especially when it is made public, should happen with the user's full awareness and agreement.

  5. User-Centric Design: Sølid's stance reflects a user-centric design approach, emphasizing that individuals should have the right to determine who accesses their data, even when it's in a public domain.

Overall, Sølid's approach encapsulates the broader conversations surrounding data privacy, control, and the role of technology in enabling user choices. Its design philosophy aligns with the idea that the power to decide how data is accessed and shared should rest with the individuals themselves. This kind of approach resonates with those who advocate for user empowerment and protection of privacy in the digital age.

Our pricing structure

We are free and MIT licenced.

Free beer.
Free choice.
Free software.

Free the internet.

+

Operating public clouds

In the age of digital data, preserving privacy has become paramount, and innovative technologies like Sølid are playing a pivotal role in ensuring individuals have control over their personal information. Mobile phones, particularly those offered by Apple, are known for their robust security measures and privacy controls. When combined with Sølid, they create a powerful synergy that enhances data privacy and security. Here are five key points to consider:

  1. Sølid's Privacy Focus: Sølid, the innovative runtime engine developed by Grexie, is designed with a strong focus on privacy. It offers individuals the option to decrypt and process data on their secured mobile devices, giving them the ultimate control over their data.

  2. Mobile Device Security: Apple's mobile devices are renowned for their stringent security measures and privacy controls. When used in conjunction with Sølid, these devices provide an additional layer of security, ensuring that data remains protected and private.

  3. User Confidence: The integration of Sølid with secure mobile devices instills confidence in users that their data is being handled with the utmost care. This approach aligns with the growing demand for increased data privacy and control.

  4. Informed Data Handling: Sølid's design empowers individuals to make informed decisions about how their data is processed. This transparency and user-centric approach reinforce privacy rights in the digital era.

  5. Enhanced Data Security: When Sølid and secure mobile devices join forces, data security is significantly enhanced. This combination ensures that sensitive information remains confidential and protected, even in an increasingly interconnected digital landscape.

The integration of Sølid and secure mobile devices exemplifies a commitment to safeguarding privacy in the digital age. By giving users control over their data and leveraging the robust security features of trusted mobile platforms, this partnership sets a new standard for data privacy and security in an era where personal information is more valuable than ever.

Sølid's support for isolate entrancy timing counters marks a significant advancement in optimizing the resource consumption and billing efficiency of applications hosted on public cloud offerings. This innovative feature addresses the challenges posed by traditional instance-based billing models, where instances are billed for the duration of their operation, including time spent in startup and idle states.

In platforms like AWS Lambda, instance-based billing can lead to inefficiencies and higher costs due to the time spent on instance initialization and the continuous billing during periods of IO operations. Sølid addresses these issues by offering a mechanism that accurately tracks the actual CPU time consumed by an application. This means that you're billed only for the actual processing time, and not for the overhead time incurred during instance startup or idle states.

Sølid's approach enables hosting providers to eliminate the billing overhead associated with idle isolates, resulting in more accurate billing and cost savings for users. By offering a straightforward API accessible within the calling isolate, or even through native code in Golang or C++, Sølid ensures that implementing this feature is seamless and efficient for developers.

This feature aligns with Sølid's overarching goal of providing an efficient, cost-effective, and user-centric runtime environment. By optimizing billing processes and reducing unnecessary costs, Sølid empowers developers and hosting providers to create a more streamlined and economical hosting experience. This approach not only benefits developers' bottom lines but also contributes to a more sustainable and efficient cloud computing ecosystem.

Get Started

API Reference

JavaScript

Golang