The Sølid Book
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.
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:
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.
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.
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.
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.
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.
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.
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.
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.
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.
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:
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.
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.
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.
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.
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:
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.
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:
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.
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.
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.
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.
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:
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.
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.
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.
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.
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