installed Redux and Events internal page development

This commit is contained in:
rockyeverlast
2024-04-24 16:32:42 +05:30
parent 37a74d1209
commit db7775a45b
10 changed files with 359 additions and 298 deletions

91
package-lock.json generated
View File

@@ -14,6 +14,7 @@
"@emotion/styled": "^11.11.0",
"@fontsource/poppins": "^5.0.12",
"@gsap/react": "^2.1.0",
"@reduxjs/toolkit": "^2.2.3",
"axios": "^1.6.8",
"framer-motion": "^11.0.15",
"react": "^18.2.0",
@@ -22,6 +23,7 @@
"react-google-recaptcha": "^3.1.0",
"react-hook-form": "^7.51.2",
"react-intersection-observer": "^9.8.1",
"react-redux": "^9.1.1",
"react-router-dom": "^6.22.3",
"swiper": "^11.1.0"
},
@@ -2006,6 +2008,29 @@
"url": "https://opencollective.com/popperjs"
}
},
"node_modules/@reduxjs/toolkit": {
"version": "2.2.3",
"resolved": "https://registry.npmjs.org/@reduxjs/toolkit/-/toolkit-2.2.3.tgz",
"integrity": "sha512-76dll9EnJXg4EVcI5YNxZA/9hSAmZsFqzMmNRHvIlzw2WS/twfcVX3ysYrWGJMClwEmChQFC4yRq74tn6fdzRA==",
"dependencies": {
"immer": "^10.0.3",
"redux": "^5.0.1",
"redux-thunk": "^3.1.0",
"reselect": "^5.0.1"
},
"peerDependencies": {
"react": "^16.9.0 || ^17.0.0 || ^18",
"react-redux": "^7.2.1 || ^8.1.3 || ^9.0.0"
},
"peerDependenciesMeta": {
"react": {
"optional": true
},
"react-redux": {
"optional": true
}
}
},
"node_modules/@remix-run/router": {
"version": "1.15.3",
"resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.15.3.tgz",
@@ -2452,6 +2477,11 @@
"integrity": "sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==",
"devOptional": true
},
"node_modules/@types/use-sync-external-store": {
"version": "0.0.3",
"resolved": "https://registry.npmjs.org/@types/use-sync-external-store/-/use-sync-external-store-0.0.3.tgz",
"integrity": "sha512-EwmlvuaxPNej9+T4v5AuBPJa2x2UOJVdjCtDHgcDqitUeOtjnJKJ+apYjVcAoBEMjKW1VVFGZLUb5+qqa09XFA=="
},
"node_modules/@ungap/structured-clone": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz",
@@ -3934,6 +3964,15 @@
"node": ">= 4"
}
},
"node_modules/immer": {
"version": "10.0.4",
"resolved": "https://registry.npmjs.org/immer/-/immer-10.0.4.tgz",
"integrity": "sha512-cuBuGK40P/sk5IzWa9QPUaAdvPHjkk1c+xYsd9oZw+YQQEV+10G0P5uMpGctZZKnyQ+ibRO08bD25nWLmYi2pw==",
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/immer"
}
},
"node_modules/import-fresh": {
"version": "3.3.0",
"resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
@@ -5001,6 +5040,32 @@
"resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
"integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
},
"node_modules/react-redux": {
"version": "9.1.1",
"resolved": "https://registry.npmjs.org/react-redux/-/react-redux-9.1.1.tgz",
"integrity": "sha512-5ynfGDzxxsoV73+4czQM56qF43vsmgJsO22rmAvU5tZT2z5Xow/A2uhhxwXuGTxgdReF3zcp7A80gma2onRs1A==",
"dependencies": {
"@types/use-sync-external-store": "^0.0.3",
"use-sync-external-store": "^1.0.0"
},
"peerDependencies": {
"@types/react": "^18.2.25",
"react": "^18.0",
"react-native": ">=0.69",
"redux": "^5.0.0"
},
"peerDependenciesMeta": {
"@types/react": {
"optional": true
},
"react-native": {
"optional": true
},
"redux": {
"optional": true
}
}
},
"node_modules/react-remove-scroll": {
"version": "2.5.9",
"resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.5.9.tgz",
@@ -5098,6 +5163,19 @@
}
}
},
"node_modules/redux": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/redux/-/redux-5.0.1.tgz",
"integrity": "sha512-M9/ELqF6fy8FwmkpnF0S3YKOqMyoWJ4+CS5Efg2ct3oY9daQvd/Pc71FpGZsVsbl3Cpb+IIcjBDUnnyBdQbq4w=="
},
"node_modules/redux-thunk": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-3.1.0.tgz",
"integrity": "sha512-NW2r5T6ksUKXCabzhL9z+h206HQw/NJkcLm1GPImRQ8IzfXwRGqjVhKJGauHirT0DAuyy6hjdnMZaRoAcy0Klw==",
"peerDependencies": {
"redux": "^5.0.0"
}
},
"node_modules/reflect.getprototypeof": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.6.tgz",
@@ -5142,6 +5220,11 @@
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/reselect": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/reselect/-/reselect-5.1.0.tgz",
"integrity": "sha512-aw7jcGLDpSgNDyWBQLv2cedml85qd95/iszJjN988zX1t7AVRJi19d9kto5+W7oCfQ94gyo40dVbT6g2k4/kXg=="
},
"node_modules/resolve": {
"version": "2.0.0-next.5",
"resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz",
@@ -5723,6 +5806,14 @@
}
}
},
"node_modules/use-sync-external-store": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz",
"integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==",
"peerDependencies": {
"react": "^16.8.0 || ^17.0.0 || ^18.0.0"
}
},
"node_modules/vite": {
"version": "5.1.6",
"resolved": "https://registry.npmjs.org/vite/-/vite-5.1.6.tgz",

View File

@@ -16,6 +16,7 @@
"@emotion/styled": "^11.11.0",
"@fontsource/poppins": "^5.0.12",
"@gsap/react": "^2.1.0",
"@reduxjs/toolkit": "^2.2.3",
"axios": "^1.6.8",
"framer-motion": "^11.0.15",
"react": "^18.2.0",
@@ -24,6 +25,7 @@
"react-google-recaptcha": "^3.1.0",
"react-hook-form": "^7.51.2",
"react-intersection-observer": "^9.8.1",
"react-redux": "^9.1.1",
"react-router-dom": "^6.22.3",
"swiper": "^11.1.0"
},

View File

@@ -0,0 +1,14 @@
// apiSlice.js
import { createApi, fetchBaseQuery } from '@reduxjs/toolkit/query/react';
export const api = createApi({
reducerPath: 'communities',
baseQuery: fetchBaseQuery({ baseUrl: 'https://rubix.betadelivery.com/api/admin/' }),
endpoints: (builder) => ({
getCommunities: builder.query({
query: () => 'community',
}),
}),
});
export const { useGetCommunitiesQuery } = api;

12
src/Redux/store/store.js Normal file
View File

@@ -0,0 +1,12 @@
import { configureStore } from '@reduxjs/toolkit';
import { api } from '../slice/communitySlice';
const store = configureStore({
reducer: {
[api.reducerPath]: api.reducer,
},
middleware: (getDefaultMiddleware) =>
getDefaultMiddleware().concat(api.middleware),
});
export default store;

Binary file not shown.

After

Width:  |  Height:  |  Size: 333 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 482 KiB

View File

@@ -25,10 +25,12 @@ import imgnine from "../../assets/images/Component123.png";
import imgten from "../../assets/images/Component128.png";
import imgeleven from "../../assets/images/Component127.png";
import imgtweleve from "../../assets/images/kiran.jpg";
import { useEffect } from "react";
import axios from "axios";
import { useGetCommunitiesQuery } from "../../Redux/slice/communitySlice";
const individuals = [
{
location: "india",
name: "KC Reddy",
jobTitle: "Founder/CTO",
description:
@@ -37,7 +39,6 @@ const individuals = [
link: `https://www.linkedin.com/in/kc-reddy-767a3463/`,
},
{
location: "india",
name: "Ravi Srinivasa Murty",
jobTitle: "Chief Strategy Officer",
description:
@@ -46,7 +47,6 @@ const individuals = [
link: `https://www.linkedin.com/in/ravi-srinivasa-murty-7a46041/`,
},
{
location: "india",
name: "Hari Krishnan",
jobTitle: "Head of Technology",
description:
@@ -55,7 +55,6 @@ const individuals = [
link: `https://www.linkedin.com/in/hari-krishnan-1691b6120/`,
},
{
location: "india",
name: "Eser Torun, CFA",
jobTitle: "Chief Growth Officer",
description:
@@ -64,7 +63,6 @@ const individuals = [
link: `https://www.linkedin.com/in/eser-torun-cfa?utm_source=share&utm_campaign=share_via&utm_content=profile&utm_medium=ios_app`,
},
{
location: "india",
name: "Gokul P S",
jobTitle: "Core Blockchain Developer",
description:
@@ -73,7 +71,6 @@ const individuals = [
link: `https://www.linkedin.com/in/gokul-p-s-3a8445130/`,
},
{
location: "india",
name: "Allen Iype P Cherian",
jobTitle: "Blockchain Engineer",
description:
@@ -82,7 +79,6 @@ const individuals = [
link: `https://www.linkedin.com/in/allen-iype-p-cherian/`,
},
{
location: "india",
name: "Nidhin M.",
jobTitle: "Lead Engineer",
description:
@@ -91,7 +87,6 @@ const individuals = [
link: `https://www.linkedin.com/in/nidhinmahesh/`,
},
{
location: "india",
name: "Arnab Ghose",
jobTitle: "Senior Blockchain Engineer",
description:
@@ -100,7 +95,6 @@ const individuals = [
link: `https://www.linkedin.com/in/arnabghose997?utm_source=share&utm_campaign=share_via&utm_content=profile&utm_medium=ios_app`,
},
{
location: "india",
name: "Ashita Gupta",
jobTitle: "Blockchain Developer",
description:
@@ -109,7 +103,6 @@ const individuals = [
link: `https://www.linkedin.com/in/ashita-gupta-5a0827167/`,
},
{
location: "india",
name: "Vaishnav C H",
jobTitle: "Blockchain Developer",
description:
@@ -118,7 +111,6 @@ const individuals = [
link: `https://www.linkedin.com/in/vaishnav-c-h-134053221/`,
},
{
location: "india",
name: "Maneesha Panda",
jobTitle: "Blockchain Engineer",
description:
@@ -127,7 +119,6 @@ const individuals = [
link: `https://www.linkedin.com/in/maneesha-panda/`,
},
{
location: "india",
name: "Kiran H",
jobTitle: "Lead Software Engineer",
description:
@@ -138,6 +129,24 @@ const individuals = [
];
const CommunityCard = () => {
// const { data, error, isLoading } = useGetCommunitiesQuery();
useEffect(() => {
// async function fetchData() {
// try {
// const response = await axios.get(
// "https://rubix.betadelivery.com/api/admin/community"
// );
// console.log(response.data.data.rows);
// } catch (error) {
// // Handle errors
// console.error("Error fetching data:", error.message);
// }
// }
// // Call the fetchData function to initiate the request
// fetchData();
}, []);
return (
<>
<Box backgroundColor={"#101015"}>

View File

@@ -0,0 +1,74 @@
import { Box, Image, Text } from "@chakra-ui/react";
import calendar from "../../../assets/images/calendar.png";
import pin from "../../../assets/images/map-pin.png";
const EventDates = () => {
return (
<Box
width={"20%"}
sx={{
"@media (max-width: 600px)": {
width: "100%",
},
}}
>
<Box
backgroundColor={"#15181E"}
padding={"1rem"}
fontSize={"14px"}
borderRadius={"5px"}
fontFamily={"Poppins"}
marginBottom={"2rem"}
minW={"300px"}
>
<Text mb={"20px"}>Details</Text>
<Text display={"flex"} alignItems={"center"} mb={"20px"}>
<Image src={calendar} mr={"10px"} /> Friday, May 18 - 8.00 PM
</Text>
<Text display={"flex"} alignItems={"center"} mb={"20px"}>
<Image src={calendar} mr={"10px"} /> Friday, May 18 - 8.00 PM
</Text>
<Text display={"flex"} alignItems={"center"} mb={"20px"}>
<Image src={calendar} mr={"10px"} /> Friday, May 18 - 8.00 PM
</Text>
</Box>
<Box
backgroundColor={"#15181E"}
padding={"1rem"}
fontSize={"14px"}
borderRadius={"5px"}
fontFamily={"Poppins"}
marginBottom={"2rem"}
minW={"300px"}
>
<Text mb={"20px"}>Location</Text>
<Text display={"flex"} alignItems={"center"} mb={"20px"}>
<Image src={pin} mr={"10px"} /> Anywhere 123, anycity
</Text>
</Box>
<Box
backgroundColor={"#15181E"}
padding={"1rem"}
fontSize={"14px"}
borderRadius={"5px"}
fontFamily={"Poppins"}
minW={"300px"}
>
<Text mb={"20px"}>Organizer</Text>
<Text display={"flex"} alignItems={"center"} mb={"20px"}>
Rubix Team
</Text>
<Text display={"flex"} alignItems={"center"} mb={"20px"}>
+91 4578451245
</Text>
<Text display={"flex"} alignItems={"center"} mb={"20px"}>
rubix@gmail.com
</Text>
</Box>
</Box>
);
};
export default EventDates;

View File

@@ -1,5 +1,6 @@
/* eslint-disable no-unused-vars */
import React, { useEffect } from "react";
import { Box, Text, Image } from "@chakra-ui/react";
import { Box, Text, Image, Container } from "@chakra-ui/react";
import { Avatar, AvatarBadge, AvatarGroup } from "@chakra-ui/react";
import banner from "../../assets/images/articleInternalbanner.png";
import Chip from "../Chip/Chip";
@@ -12,6 +13,8 @@ import github from "../../assets/images/github.png";
import tele from "../../assets/images/tele.png";
import reddit from "../../assets/images/reddit.png";
import fb from "../../assets/images/fb.png";
import pic from "../../assets/images/eventInternal.png";
import EventDates from "./EventDates/EventDates";
const EventsInternal = () => {
useEffect(() => {
@@ -19,104 +22,140 @@ const EventsInternal = () => {
}, []);
return (
<>
<Box
bg="#000000"
height={"auto"}
display={"flex"}
gap={7}
justifyContent={"center"}
alignItems={"center"}
flexDirection={"column"}
color="white"
>
<Box>
<Box
bg="#000000"
minHeight={"60vh"}
width={"70vw"}
display={"flex"}
gap={5}
marginTop={10}
justifyContent={"end"}
alignItems={"center"}
flexDirection={"column"}
color="white"
sx={{
"@media (max-width: 600px)": {
minHeight: "inherit",
width: "100vw",
marginTop: "6rem",
},
}}
>
<Text
textAlign={"center"}
className="rubix-fw-600"
fontSize={"40px"}
fontFamily={"Mona Sans"}
color={"#fff"}
sx={{
"@media (max-width: 600px)": {
fontSize: "28px",
lineHeight: "45px",
padding: "0px 1rem",
},
}}
>
Enterprise blockchains on a Public Chain!
</Text>
</Box>
{/* ========[ Banner ]======= */}
<Box
height={"70vh"}
width={"85vw"}
backgroundImage={`url(${banner})`}
backgroundRepeat={"no-repeat"}
backgroundSize={"cover"}
position="relative"
sx={{
"@media (max-width: 600px)": {
height: "215px",
width: "100%",
},
}}
>
<Box
position="absolute"
top={0}
left={0}
width="100%"
height="100%"
backgroundColor="rgba(0, 0, 0, 0.5)"
/>
</Box>
<Box
bg="#000000"
width={"85vw"}
height={"auto"}
display={"flex"}
pb={"60px"}
gap={5}
gap={7}
justifyContent={"center"}
alignItems={"center"}
flexDirection={"column"}
color="white"
position={"relative"}
sx={{
"@media (max-width: 600px)": {
display: "block",
top: "inherit",
},
}}
>
<Box
position={"absolute"}
top={0}
left={0}
bg="#000000"
minHeight={"60vh"}
width={"80%"}
display={"flex"}
gap={5}
marginTop={10}
justifyContent={"end"}
alignItems={"start"}
flexDirection={"column"}
alignItems={"center"}
gap={2}
color="white"
sx={{
"@media (max-width: 600px)": {
minHeight: "inherit",
width: "100vw",
marginTop: "6rem",
},
}}
>
<Text
as={"h2"}
textAlign={"left"}
className="rubix-fw-600"
fontSize={"40px"}
fontFamily={"Mona Sans"}
color={"#fff"}
sx={{
"@media (max-width: 600px)": {
fontSize: "28px",
lineHeight: "45px",
padding: "0px 1rem",
},
}}
>
Financial Times Crypto & Digital Assets Summit Panel
</Text>
<Text
sx={{
"@media (max-width: 600px)": {
padding: "0px 1rem",
},
}}
>
Friday, May 18 - 8.00 PM
</Text>
</Box>
{/* ========[ Banner ]======= */}
<Container
maxW={"container.xl"}
display={"flex"}
alignItems={"flex-start"}
justifyContent={"center"}
sx={{
"@media (max-width: 600px)": {
flexDirection: "column",
},
}}
>
<Box
width={"845px"}
sx={{
"@media (max-width: 600px)": {
width: "100%",
},
}}
>
<Box
pb={"2rem"}
width={"815px"}
sx={{
"@media (max-width: 600px)": {
height: "215px",
width: "100%",
},
}}
>
<Image src={pic} />
</Box>
{/* Content */}
<Box
bg="#000000"
pb={"20px"}
color="white"
width={"94%"}
sx={{
"@media (max-width: 600px)": {
display: "block",
top: "inherit",
width: "100%",
},
}}
>
<Text pb={5} className="rubix-text-small">
BlockSpace is the number of transactions which the blockchain
will order before appending to the chain of previous
transactions. For example, if max block space is 200KB and
average transactions take only 1Kb, then the chain may have a
room for ~190 transactions in one block. BlockSpace is a
measure of how busy is the blockchain. Low BlockSpace may mean
transactions remain unattended in the Mempool for very long.
Transactions that compete with each to pay higher fees are
likely to be validated faster. The BlockSpace limit is
intended to protect the decentralized nature of monolithic
blockchains from centralization via large blocks. It protects
small miners from being outcompeted by large blocks by
requiring higher minimum fees with larger block size, which
regulates the number of transactions that can be included in
each block. It does not mean that there will be this many
transactions in any given period, but rather gives an idea of
how many transactions the network can process in a certain
period when under stress.
</Text>
</Box>
</Box>
<EventDates />
</Container>
{/* Socials */}
<Box
width={"80%"}
textAlign={"left"}
paddingBottom={"2rem"}
sx={{
"@media (max-width: 600px)": {
bottom: "0px",
@@ -125,11 +164,13 @@ const EventsInternal = () => {
width: "100%",
marginBottom: "20px",
marginTop: "20px",
padding: "0 1rem",
},
}}
>
<Text
className="rubix-text-xsmall"
marginBottom={"1rem"}
sx={{
"@media (max-width: 600px)": {
marginBottom: "15px",
@@ -140,6 +181,9 @@ const EventsInternal = () => {
</Text>
<Text
display={"flex"}
alignItems={"center"}
gap={"2rem"}
sx={{
"@media (max-width: 600px)": {
display: "flex",
@@ -148,201 +192,12 @@ const EventsInternal = () => {
},
}}
>
<Image cursor={"pointer"} mb={4} w={6} h={6} src={tele} />
<Image cursor={"pointer"} mb={4} w={6} h={6} src={x} />
<Image cursor={"pointer"} mb={4} w={6} h={6} src={fb} />
<Image cursor={"pointer"} mb={4} w={6} h={6} src={linked} />
<Image cursor={"pointer"} w={6} h={6} src={tele} />
<Image cursor={"pointer"} w={6} h={6} src={x} />
<Image cursor={"pointer"} w={6} h={6} src={fb} />
<Image cursor={"pointer"} w={6} h={6} src={linked} />
</Text>
</Box>
<Box
bg="#000000"
width={"68vw"}
height={"auto"}
display={"flex"}
flexDirection={"column"}
gap={5}
justifyContent={"start"}
color="white"
sx={{
"@media (max-width: 600px)": {
width: "100%",
},
}}
>
<Box display={"flex"} gap={5} justifyContent={"start"}>
<Chip title="INSIGHT" />
<Chip title="BLOCKSPACE" />
</Box>
<Box
pt={5}
pb={5}
sx={{
"@media (max-width: 600px)": {
marginBottom: "3rem",
},
}}
>
{/* <Text pb={10} pt={5}>
<img
width={"100%"}
src="https://www.rubix.net/wp-content/uploads/blockchain.webp"
/>
</Text> */}
<Text pb={5} className="rubix-text-small">
Web3 transformation is beginning to accelerate at an exponential
rate. Enterprises & app developers alike are keenly looking for
ways to migrate to Web3 protocols. Web3 is highly disruptive,
yet brings immense business growth opportunities for
enterprises. Enterprises & Web3 apps can also reduce operating &
IT costs significantly by adopting decentralized protocols.
While Web3 is highly relevant to DAOs (Decentralized Autonomous
Organizations), Apps & enterprises alike, the focus in this blog
is on how enterprises can build secure networks over the Rubix
public blockchain instead of building expensive & clunky private
/ permissioned chains. Blockchain & Web3 offer significant
benefits for enterprises. Enterprises across sectors that adopt
Web3 will benefit immensely, while those who dont might face
disruption from incumbents or new entrants. Benefits of Web3
adoption include (a) better settlement internally or
intra-industry (b) supply chain improvements ( c ) newer
markets/growth opportunities (d) lower IT infrastructure costs &
(e) Better ESG (environmental, social & governance) compliance.
Enterprise blockchain adoption though has faced significant
challenges so far. The challenges include (a) concerns about
data security/privacy (b) storing data at all public blockchain
nodes & ( c ) high transaction/infrastructure costs. Enterprises
so far preferred setting up private / permissioned chains for
both internal & intra-industry applications. Most of these
applications fail to scale for the reasons explained in this
para. The real benefits of blockchain accrue for enterprises on
a public chain. The benefits of a public chain are several, but
the most notable ones are (a) malleability enterprises can
expand/contract chains based on projects without needing to
build custom blockchains for each use case & (b) open-source-
having a community of developers/trouble-shooters gets better
apps & reduces costs. While the benefits of a public chain are
immense, faster adoption requires solving the current
constraints. Public chains can offer a better way for
enterprises to adopt Web3, But is there a public chain that can
meet the needs of enterprises? In other words, can enterprises
launch their chains on a public chain? After a long search, I
came across a scalable open-sourced project called Rubix Chain
which has been maintained for over a year providing huge support
to anyone who wants a blockchain solution. I was very keen then
onwards to see whats going on and how their platform has been
improving over time. The network was able to meet my
expectations & ticked all the boxes including (a) having an
option to choose validators such as custom validators or
randomly chosen validators & (b) better infrastructure control
which no other project has offered to date. Rubix Chain is a
highly scalable blockchain protocol, using which enterprises or
consortia can launch multiple proofchains with the same
infrastructure. Rubix has its own platform, git repos, wallet,
set-up system, support, etc. An open-source project having this
level of support even for enterprise users too should be
appreciated. Anyone who wants to set up their controlled network
can use Rubix Chain the setup process is very easy & there is
good documentation. The entire network can be up & running in
hours, not days.
</Text>
{/* <Text pb={10} pt={5}>
<img
style={{ backgroundColor: "#fff" }}
width={"100%"}
src="https://www.rubix.net/wp-content/uploads/independent-proofchains-of-tokens.png"
/>
</Text> */}
<Text pb={5} className="rubix-text-small">
Rubix ProofChain is the chain of all transactions that are bound
by the user token called utility token (RBT). All ProofChains
with tokens committed in the genesis node were originated by the
genesis node itself and are stored and committed using the
protocol and its ownership is globally verifiable. All others
that are not pre-committed to the genesis node are mined by the
validators and the corresponding ProofChain of that token will
be starting with the validators node that has mined the token.
Lets take a look at whats happening inside the Rubix Chain and
understand why its the best enterprise solution. One major
issue enterprise users face is the data discrepancy between
different nodes or sub-networks. While in other public chains,
third parties or oracles are needed to sync subnets, sidechains
or parachains, in Rubix, different proofchains automatically
sync to represent one global state without the explicit need for
3rd party nodes or oracles.
</Text>
{/* <Text pb={10} pt={5}>
<img
style={{ backgroundColor: "#fff" }}
width={"100%"}
src="https://www.rubix.net/wp-content/uploads/multiple-quorum-validating-transactions.png"
/>
</Text> */}
<Text pb={5} className="rubix-text-small">
Another major advantage of the Rubix Chain is that even though
it is a public chain, the level of decentralization that the
network provides is flexible and customisable. Ideally,
blockchain should be decentralized but based on the use case the
Rubix Chain is adaptable in such a way that it can choose how
decentralized the network should be, the level of security,
which validator/quorum should be validating the transaction,
etc. There could be some users who just want to have limited
control over the data, while others want entire control whereas
some others require entire decentralization. All these can be
configured by just updating the quorum list with who validates
the transaction. This choice of quorum brings forth the next
major advantage, data control over the network, as this is one
such major situation most enterprise users need is the option to
validate the transaction within its nodes itself; this could be
due to some internal policy or limitation in data sharing; Rubix
provides the perfect solution for enterprises in adopting based
on their needs. Let us discuss how Rubix can help enterprises
meet their various requirements easily. For each Rubix
transaction, the initiator can define the type of transaction it
requires, based on the type the quorum will be picked. In Type 1
transaction quorums are picked from a broad set of global
validators, randomly, whereas Type 2 transactions will help
enterprises or consortia use a pre-determined cluster of
validators. Type 2 helps enterprises/consortia have better
control over their data. Type 2 does not mean losing the
benefits of a decentralized network (attributes such as
immutability & Sybil resistance) as all enterprise chains will
be part of a shared global state with a single public swarm key!
Transactions done using a Type 2 transaction are as secure,
immutable & globally verifiable as a Type 1 transaction, due to
the revolutionary Proof of Pledge consensus protocol (more on
this in the whitepaper found in the git repo. Malleability is
perhaps the biggest benefit of building enterprise chains on top
of the Rubix chain. For example, a consumer goods company can
download the free Rubix software on all its internal computing
nodes to run internal applications. Some of the internal nodes
can easily be switched or be added to a consortium network
without any time delay or additional costs. This makes
enterprises highly adaptable to Web3 without necessarily
committing at one go or doing costly PoCs. Since Rubix Chain is
a resource-subdued, lightweight blockchain and easier to setup
compared to other heavier public blockchains, it becomes cheaper
to run as additional resources like parallel computing machines
or ultra-spec systems are not necessarily required. Any normal
machine that is capable of running normal applications and tools
will be able to run Rubix Network on their machine. Another key
requirement for enterprises is handling identity & KYC. Rubix is
the only protocol with Decentralized Identity (DID) built from
scratch. It is easier to build Identity & Access Management
(IAM) & KYC applications using Rubix. From cost-effective to
flexibility and security to scalability Rubix Chain is a project
anyone can bet upon, unlike other blockchains that claims to be
decentralized but are centralized by infrastructure Rubix
network maintains the integrity of being decentralized. Setup
instructions are available with all files here, repo also can be
cloned from here. There is already significant interest from
enterprises in building various applications including document
management, finance, HR, ESG provenance, supply chain management
& media. Rubix could be the protocol that helps enterprises
quickly adapt to the inevitable rise of Web3.
</Text>
</Box>
</Box>
</Box>
</Box>
</>

View File

@@ -4,13 +4,17 @@ import App from "./App.jsx";
import "./index.css";
import { ChakraProvider } from "@chakra-ui/react";
import theme from "./components/Theme/Theme.jsx";
import store from "./Redux/store/store.js";
// import Fonts from "./components/Theme/Fonts.jsx";
import { Provider } from "react-redux";
ReactDOM.createRoot(document.getElementById("root")).render(
<React.StrictMode>
<ChakraProvider theme={theme}>
{/* <Fonts /> */}
<App />
</ChakraProvider>
</React.StrictMode>
<Provider store={store}>
<React.StrictMode>
<ChakraProvider theme={theme}>
{/* <Fonts /> */}
<App />
</ChakraProvider>
</React.StrictMode>
</Provider>
);