mirror of https://github.com/ethereum/go-ethereum
commit
bf20f73003
After Width: | Height: | Size: 419 KiB |
After Width: | Height: | Size: 3.8 KiB |
After Width: | Height: | Size: 687 B |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 260 B |
@ -0,0 +1,95 @@ |
||||
import { |
||||
Table, |
||||
Thead, |
||||
Tr, |
||||
Th, |
||||
TableContainer, |
||||
Text, |
||||
Tbody, |
||||
Td, |
||||
} from '@chakra-ui/react'; |
||||
import { FC } from 'react'; |
||||
|
||||
interface Props { |
||||
columnHeaders: string[] |
||||
data: any |
||||
} |
||||
|
||||
export const DataTable: FC<Props> = ({ |
||||
columnHeaders, |
||||
data, |
||||
}) => { |
||||
return ( |
||||
<TableContainer |
||||
// Note: This wont work on firefox, we are ok with this.
|
||||
css={{ |
||||
"&::-webkit-scrollbar": { |
||||
borderTop: '2px solid #11866f', |
||||
height: 18 |
||||
}, |
||||
"&::-webkit-scrollbar-thumb": { |
||||
background: "#11866f", |
||||
}, |
||||
}} |
||||
pt={4} |
||||
pb={4} |
||||
> |
||||
<Table variant='unstyled'> |
||||
<Thead> |
||||
<Tr> |
||||
{ |
||||
columnHeaders.map((columnHeader, idx) => { |
||||
return ( |
||||
<Th |
||||
key={idx} |
||||
textTransform='none' |
||||
minW={'130.5px'} |
||||
px={4} |
||||
> |
||||
<Text |
||||
fontFamily='"JetBrains Mono", monospace' |
||||
fontWeight={700} |
||||
fontSize='md' |
||||
color='#868b87' |
||||
> |
||||
{columnHeader} |
||||
</Text> |
||||
</Th> |
||||
) |
||||
}) |
||||
} |
||||
</Tr> |
||||
</Thead> |
||||
<Tbody> |
||||
{ |
||||
data.map((item: any, idx: number) => { |
||||
return ( |
||||
<Tr |
||||
key={idx} |
||||
// TODO: Get new background color from nuno for hover
|
||||
transition={'all 0.5s'} |
||||
_hover={{background: 'green.50', transition: 'all 0.5s'}} |
||||
> |
||||
{ |
||||
columnHeaders.map((columnHeader, idx) => { |
||||
// TODO: Make the font size smaller (refer to design system)
|
||||
return ( |
||||
<Td |
||||
key={idx} |
||||
px={4} |
||||
fontSize='13px' |
||||
> |
||||
{item[columnHeader.toLowerCase()]} |
||||
</Td> |
||||
) |
||||
}) |
||||
} |
||||
</Tr> |
||||
) |
||||
}) |
||||
} |
||||
</Tbody> |
||||
</Table> |
||||
</TableContainer> |
||||
) |
||||
} |
@ -0,0 +1,107 @@ |
||||
import { Box, Button, Image, Link, Stack, HStack, Text } from '@chakra-ui/react'; |
||||
import { FC } from 'react'; |
||||
import NextLink from 'next/link'; |
||||
|
||||
import { DOWNLOAD_HEADER_BUTTONS } from '../../../constants' |
||||
|
||||
interface DownloadsHero { |
||||
currentBuildName: string |
||||
currentBuildVersion: string |
||||
linuxBuildURL: string |
||||
macOSBuildURL: string |
||||
releaseNotesURL: string |
||||
sourceCodeURL: string |
||||
windowsBuildURL: string |
||||
} |
||||
|
||||
export const DownloadsHero: FC<DownloadsHero> = ({ |
||||
currentBuildName, |
||||
currentBuildVersion, |
||||
linuxBuildURL, |
||||
macOSBuildURL, |
||||
releaseNotesURL, |
||||
sourceCodeURL, |
||||
windowsBuildURL |
||||
}) => { |
||||
DOWNLOAD_HEADER_BUTTONS.linuxBuild.buildURL = linuxBuildURL |
||||
DOWNLOAD_HEADER_BUTTONS.macOSBuild.buildURL = macOSBuildURL |
||||
DOWNLOAD_HEADER_BUTTONS.windowsBuild.buildURL = windowsBuildURL |
||||
DOWNLOAD_HEADER_BUTTONS.sourceCode.buildURL = sourceCodeURL |
||||
|
||||
return ( |
||||
<Stack border='3px solid' borderColor='brand.light.primary' py={4} px={4}> |
||||
<Stack alignItems='center'> |
||||
<Image src='/images/pages/gopher-downloads-front-light.svg' alt='Gopher plugged in' />
|
||||
</Stack> |
||||
|
||||
<Box mb={4}> |
||||
<Box |
||||
as='h1' |
||||
textStyle='h1' |
||||
> |
||||
Download go-ethereum |
||||
</Box> |
||||
|
||||
<Text |
||||
// TODO: move text style to theme
|
||||
fontFamily='"JetBrains Mono", monospace' |
||||
lineHeight='21px' |
||||
mb={8} |
||||
> |
||||
{currentBuildName} ({currentBuildVersion}) |
||||
</Text> |
||||
|
||||
<Text mb={4}> |
||||
You can download the latest 64-bit stable release of Geth for our primary platforms below. Packages for all supported platforms, as well as develop builds, can be found further down the page. If you're looking to install Geth and/or associated tools via your favorite package manager, please check our installation guide. |
||||
</Text> |
||||
|
||||
{ |
||||
Object.keys(DOWNLOAD_HEADER_BUTTONS).map((key: string) => { |
||||
return ( |
||||
<NextLink |
||||
key={key} |
||||
href={DOWNLOAD_HEADER_BUTTONS[key].buildURL} |
||||
passHref |
||||
> |
||||
<Button |
||||
as='a' |
||||
variant='primary' |
||||
width={{ base: '100%' }} |
||||
p={8} |
||||
mb={4} |
||||
> |
||||
<HStack spacing={4}> |
||||
<Stack alignItems='center'> |
||||
<Image |
||||
src={DOWNLOAD_HEADER_BUTTONS[key].image} |
||||
alt={DOWNLOAD_HEADER_BUTTONS[key].imageAlt} |
||||
/> |
||||
</Stack>
|
||||
<Box> |
||||
<Text textStyle='downloads-button-label'> |
||||
For {DOWNLOAD_HEADER_BUTTONS[key].name} |
||||
</Text> |
||||
<Text textStyle='downloads-button-label'> |
||||
geth {currentBuildName} |
||||
</Text> |
||||
</Box> |
||||
</HStack> |
||||
</Button> |
||||
</NextLink> |
||||
) |
||||
}) |
||||
} |
||||
|
||||
<Box textAlign={'center'}> |
||||
<Link |
||||
href={releaseNotesURL} |
||||
isExternal |
||||
variant='light' |
||||
> |
||||
Release notes for {currentBuildName} {currentBuildVersion} |
||||
</Link> |
||||
</Box> |
||||
</Box> |
||||
</Stack> |
||||
); |
||||
}; |
@ -0,0 +1,44 @@ |
||||
import { Box, Image, Stack } from '@chakra-ui/react'; |
||||
import { FC } from 'react'; |
||||
|
||||
interface Props { |
||||
children: React.ReactNode; |
||||
id: string; |
||||
imgSrc?: string; |
||||
imgAltText?: string; |
||||
sectionTitle: string |
||||
} |
||||
|
||||
export const DownloadsSection: FC<Props> = ({ |
||||
children, |
||||
imgSrc, |
||||
imgAltText, |
||||
sectionTitle, |
||||
id |
||||
}) => { |
||||
return ( |
||||
<Stack border='2px solid' borderColor='brand.light.primary' id={id}> |
||||
{!!imgSrc && ( |
||||
<Stack alignItems='center' p={4} borderBottom='2px solid' borderColor='brand.light.primary'> |
||||
{/* TODO: use NextImage */} |
||||
<Image src={imgSrc} alt={imgAltText} /> |
||||
</Stack> |
||||
)} |
||||
|
||||
<Stack |
||||
p={4} |
||||
borderBottom='2px solid' |
||||
borderColor='brand.light.primary' |
||||
sx={{ mt: '0 !important' }} |
||||
> |
||||
<Box as='h2' textStyle='h2'> |
||||
{sectionTitle} |
||||
</Box> |
||||
</Stack> |
||||
|
||||
<Stack spacing={4}> |
||||
{children} |
||||
</Stack> |
||||
</Stack> |
||||
) |
||||
} |
@ -0,0 +1,99 @@ |
||||
import { |
||||
Stack, |
||||
Tabs, |
||||
TabList, |
||||
Tab, |
||||
Text, |
||||
TabPanel, |
||||
TabPanels, |
||||
} from '@chakra-ui/react'; |
||||
import { FC } from 'react'; |
||||
|
||||
import { |
||||
DOWNLOAD_TABS, |
||||
DOWNLOAD_TAB_COLUMN_HEADERS |
||||
} from '../../../constants' |
||||
|
||||
import { DataTable } from '../DataTable' |
||||
|
||||
interface Props { |
||||
data: any |
||||
} |
||||
|
||||
export const DownloadsTable: FC<Props> = ({ |
||||
data |
||||
}) => { |
||||
return ( |
||||
<Stack |
||||
sx={{ mt: '0 !important' }} |
||||
borderBottom='2px solid' |
||||
borderColor='brand.light.primary' |
||||
> |
||||
<Tabs variant='unstyled'> |
||||
<TabList |
||||
color='brand.light.primary' |
||||
bg='green.50' |
||||
> |
||||
{ |
||||
DOWNLOAD_TABS.map((tab, idx) => { |
||||
return ( |
||||
<Tab |
||||
key={tab} |
||||
w={'20%'} |
||||
p={4} |
||||
_selected={{ |
||||
bg: 'brand.light.primary', |
||||
color: 'yellow.50', |
||||
}} |
||||
borderBottom='2px solid' |
||||
borderRight={ |
||||
idx === (DOWNLOAD_TABS.length - 1) |
||||
?'none' |
||||
:'2px solid' |
||||
} |
||||
borderColor='brand.light.primary' |
||||
> |
||||
<Text textStyle='download-tab-label'> |
||||
{tab} |
||||
</Text> |
||||
</Tab> |
||||
) |
||||
}) |
||||
} |
||||
</TabList> |
||||
<TabPanels> |
||||
<TabPanel p={0}> |
||||
<DataTable |
||||
columnHeaders={DOWNLOAD_TAB_COLUMN_HEADERS} |
||||
data={data} |
||||
/> |
||||
</TabPanel> |
||||
<TabPanel p={0}> |
||||
<DataTable |
||||
columnHeaders={DOWNLOAD_TAB_COLUMN_HEADERS} |
||||
data={data} |
||||
/> |
||||
</TabPanel> |
||||
<TabPanel p={0}> |
||||
<DataTable |
||||
columnHeaders={DOWNLOAD_TAB_COLUMN_HEADERS} |
||||
data={data} |
||||
/> |
||||
</TabPanel> |
||||
<TabPanel p={0}> |
||||
<DataTable |
||||
columnHeaders={DOWNLOAD_TAB_COLUMN_HEADERS} |
||||
data={data} |
||||
/> |
||||
</TabPanel> |
||||
<TabPanel p={0}> |
||||
<DataTable |
||||
columnHeaders={DOWNLOAD_TAB_COLUMN_HEADERS} |
||||
data={data} |
||||
/> |
||||
</TabPanel> |
||||
</TabPanels> |
||||
</Tabs> |
||||
</Stack> |
||||
) |
||||
} |
@ -0,0 +1,3 @@ |
||||
export * from './DownloadsHero'; |
||||
export * from './DownloadsSection' |
||||
export * from './DownloadsTable' |
@ -0,0 +1,122 @@ |
||||
export const testDownloadData = [ |
||||
{ |
||||
release: 'Geth 1.10.23', |
||||
commit: 'd901d853…', |
||||
kind: 'archive', |
||||
arch: '64-bit', |
||||
size: '11.71 MB', |
||||
published: 'Last Wednesday at 11:11 AM', |
||||
signature: 'Signature', |
||||
"checksum (md5)": 'c93b0339413a8f2b95aa4b23b32d64af' |
||||
}, |
||||
{ |
||||
release: 'Geth 1.10.23', |
||||
commit: 'd901d853…', |
||||
kind: 'archive', |
||||
arch: '64-bit', |
||||
size: '11.71 MB', |
||||
published: 'Last Wednesday at 11:11 AM', |
||||
signature: 'Signature', |
||||
"checksum (md5)": 'c93b0339413a8f2b95aa4b23b32d64af' |
||||
}, |
||||
{ |
||||
release: 'Geth 1.10.23', |
||||
commit: 'd901d853…', |
||||
kind: 'archive', |
||||
arch: '64-bit', |
||||
size: '11.71 MB', |
||||
published: 'Last Wednesday at 11:11 AM', |
||||
signature: 'Signature', |
||||
"checksum (md5)": 'c93b0339413a8f2b95aa4b23b32d64af' |
||||
}, |
||||
{ |
||||
release: 'Geth 1.10.23', |
||||
commit: 'd901d853…', |
||||
kind: 'archive', |
||||
arch: '64-bit', |
||||
size: '11.71 MB', |
||||
published: 'Last Wednesday at 11:11 AM', |
||||
signature: 'Signature', |
||||
"checksum (md5)": 'c93b0339413a8f2b95aa4b23b32d64af' |
||||
}, |
||||
{ |
||||
release: 'Geth 1.10.23', |
||||
commit: 'd901d853…', |
||||
kind: 'archive', |
||||
arch: '64-bit', |
||||
size: '11.71 MB', |
||||
published: 'Last Wednesday at 11:11 AM', |
||||
signature: 'Signature', |
||||
"checksum (md5)": 'c93b0339413a8f2b95aa4b23b32d64af' |
||||
}, |
||||
{ |
||||
release: 'Geth 1.10.23', |
||||
commit: 'd901d853…', |
||||
kind: 'archive', |
||||
arch: '64-bit', |
||||
size: '11.71 MB', |
||||
published: 'Last Wednesday at 11:11 AM', |
||||
signature: 'Signature', |
||||
"checksum (md5)": 'c93b0339413a8f2b95aa4b23b32d64af' |
||||
}, |
||||
{ |
||||
release: 'Geth 1.10.23', |
||||
commit: 'd901d853…', |
||||
kind: 'archive', |
||||
arch: '64-bit', |
||||
size: '11.71 MB', |
||||
published: 'Last Wednesday at 11:11 AM', |
||||
signature: 'Signature', |
||||
"checksum (md5)": 'c93b0339413a8f2b95aa4b23b32d64af' |
||||
}, |
||||
{ |
||||
release: 'Geth 1.10.23', |
||||
commit: 'd901d853…', |
||||
kind: 'archive', |
||||
arch: '64-bit', |
||||
size: '11.71 MB', |
||||
published: 'Last Wednesday at 11:11 AM', |
||||
signature: 'Signature', |
||||
"checksum (md5)": 'c93b0339413a8f2b95aa4b23b32d64af' |
||||
}, |
||||
{ |
||||
release: 'Geth 1.10.23', |
||||
commit: 'd901d853…', |
||||
kind: 'archive', |
||||
arch: '64-bit', |
||||
size: '11.71 MB', |
||||
published: 'Last Wednesday at 11:11 AM', |
||||
signature: 'Signature', |
||||
"checksum (md5)": 'c93b0339413a8f2b95aa4b23b32d64af' |
||||
}, |
||||
{ |
||||
release: 'Geth 1.10.23', |
||||
commit: 'd901d853…', |
||||
kind: 'archive', |
||||
arch: '64-bit', |
||||
size: '11.71 MB', |
||||
published: 'Last Wednesday at 11:11 AM', |
||||
signature: 'Signature', |
||||
"checksum (md5)": 'c93b0339413a8f2b95aa4b23b32d64af' |
||||
}, |
||||
{ |
||||
release: 'Geth 1.10.23', |
||||
commit: 'd901d853…', |
||||
kind: 'archive', |
||||
arch: '64-bit', |
||||
size: '11.71 MB', |
||||
published: 'Last Wednesday at 11:11 AM', |
||||
signature: 'Signature', |
||||
"checksum (md5)": 'c93b0339413a8f2b95aa4b23b32d64af' |
||||
}, |
||||
{ |
||||
release: 'Geth 1.10.23', |
||||
commit: 'd901d853…', |
||||
kind: 'archive', |
||||
arch: '64-bit', |
||||
size: '11.71 MB', |
||||
published: 'Last Wednesday at 11:11 AM', |
||||
signature: 'Signature', |
||||
"checksum (md5)": 'c93b0339413a8f2b95aa4b23b32d64af' |
||||
}, |
||||
] |
@ -0,0 +1,32 @@ |
||||
export const pgpBuildTestData = [ |
||||
{ |
||||
"build server": "Android Builder", |
||||
"unique id": "Go Ethereum Android Builder <geth-ci@ethereum.org>", |
||||
"openpgp key": "F9585DE6", |
||||
"fingerprint": "8272 1824 F4D7 46E0 B5A7 AB95 70AD 154B F958 5DE6" |
||||
}, |
||||
{ |
||||
"build server": "iOS Builder", |
||||
"unique id": "Go Ethereum iOS Builder <geth-ci@ethereum.org>", |
||||
"openpgp key": "F9585DE6", |
||||
"fingerprint": "8272 1824 F4D7 46E0 B5A7 AB95 70AD 154B F958 5DE6" |
||||
}, |
||||
{ |
||||
"build server": "Linux Builder", |
||||
"unique id": "Go Ethereum Linux Builder <geth-ci@ethereum.org>", |
||||
"openpgp key": "F9585DE6", |
||||
"fingerprint": "8272 1824 F4D7 46E0 B5A7 AB95 70AD 154B F958 5DE6" |
||||
}, |
||||
{ |
||||
"build server": "macOS Builder", |
||||
"unique id": "Go Ethereum macOS Builder <geth-ci@ethereum.org>", |
||||
"openpgp key": "F9585DE6", |
||||
"fingerprint": "8272 1824 F4D7 46E0 B5A7 AB95 70AD 154B F958 5DE6" |
||||
}, |
||||
{ |
||||
"build server": "Windows Builder", |
||||
"unique id": "Go Ethereum Windows Builder <geth-ci@ethereum.org>", |
||||
"openpgp key": "F9585DE6", |
||||
"fingerprint": "8272 1824 F4D7 46E0 B5A7 AB95 70AD 154B F958 5DE6" |
||||
}, |
||||
] |
@ -0,0 +1,20 @@ |
||||
export const pgpDeveloperTestData = [ |
||||
{ |
||||
"developer": "Felix Lange", |
||||
"unique id": "Felix Lange <fjl@ethereum.org>", |
||||
"openpgp key": "F9585DE6", |
||||
"fingerprint": "8272 1824 F4D7 46E0 B5A7 AB95 70AD 154B F958 5DE6" |
||||
}, |
||||
{ |
||||
"developer": "Martin Holst Swende", |
||||
"unique id": "Martin Holst Swende <martin.swende@ethereum.org>", |
||||
"openpgp key": "F9585DE6", |
||||
"fingerprint": "8272 1824 F4D7 46E0 B5A7 AB95 70AD 154B F958 5DE6" |
||||
}, |
||||
{ |
||||
"developer": "Péter Szilágyi", |
||||
"unique id": "Péter Szilágyi <peter@ethereum.org>", |
||||
"openpgp key": "F9585DE6", |
||||
"fingerprint": "8272 1824 F4D7 46E0 B5A7 AB95 70AD 154B F958 5DE6" |
||||
}, |
||||
] |
@ -1 +0,0 @@ |
||||
beep |
@ -0,0 +1,229 @@ |
||||
import { |
||||
Code, |
||||
Link, |
||||
ListItem, |
||||
Stack, |
||||
Text, |
||||
UnorderedList, |
||||
} from '@chakra-ui/react'; |
||||
import type { NextPage } from 'next'; |
||||
import { useState } from 'react' |
||||
|
||||
import { |
||||
DownloadsHero, |
||||
DownloadsSection, |
||||
DownloadsTable, |
||||
} from '../components/UI/downloads'; |
||||
import { DataTable } from '../components/UI/DataTable'; |
||||
|
||||
import { |
||||
DEFAULT_BUILD_AMOUNT_TO_SHOW, |
||||
DOWNLOAD_OPENPGP_BUILD_HEADERS, |
||||
DOWNLOAD_OPENPGP_DEVELOPER_HEADERS, |
||||
GETH_REPO_URL |
||||
} from '../constants' |
||||
|
||||
import { testDownloadData } from '../data/test/download-testdata' |
||||
import { pgpBuildTestData } from '../data/test/pgpbuild-testdata'; |
||||
import { pgpDeveloperTestData } from '../data/test/pgpdeveloper-testdata'; |
||||
|
||||
const DownloadsPage: NextPage = () => { |
||||
const [amountStableReleases, updateAmountStables] = useState(DEFAULT_BUILD_AMOUNT_TO_SHOW) |
||||
const [amountDevelopBuilds, updateAmountDevelopBuilds] = useState(DEFAULT_BUILD_AMOUNT_TO_SHOW) |
||||
|
||||
const showMoreStableReleases = () => { |
||||
updateAmountStables(amountStableReleases+10) |
||||
} |
||||
|
||||
const showMoreDevelopBuilds = () => { |
||||
updateAmountDevelopBuilds(amountDevelopBuilds+10) |
||||
} |
||||
|
||||
return ( |
||||
<> |
||||
{/* TODO: add PageMetadata */} |
||||
|
||||
<main> |
||||
<Stack spacing={4}> |
||||
{/* TODO: replace hardcoded strings with build information */} |
||||
<DownloadsHero |
||||
currentBuildName={'Sentry Omega'} |
||||
currentBuildVersion={'v1.10.23'} |
||||
linuxBuildURL={'https://gethstore.blob.core.windows.net/builds/geth-linux-amd64-1.10.25-69568c55.tar.gz'} |
||||
macOSBuildURL={'https://gethstore.blob.core.windows.net/builds/geth-darwin-amd64-1.10.25-69568c55.tar.gz'} |
||||
releaseNotesURL={''} |
||||
sourceCodeURL={'https://github.com/ethereum/go-ethereum/archive/v1.10.25.tar.gz'} |
||||
windowsBuildURL={'https://gethstore.blob.core.windows.net/builds/geth-windows-amd64-1.10.25-69568c55.exe'} |
||||
/> |
||||
|
||||
<DownloadsSection |
||||
imgSrc='/images/pages/gopher-home-side-desktop.svg' |
||||
imgAltText='Gopher facing right' |
||||
sectionTitle='Specific Versions' |
||||
id='specificversions' |
||||
> |
||||
<Stack p={4}> |
||||
<Text textStyle='quick-link-text'> |
||||
If you're looking for a specific release, operating system or architecture, below you will find: |
||||
</Text> |
||||
|
||||
<UnorderedList px={4}> |
||||
<ListItem> |
||||
<Text textStyle='quick-link-text'> |
||||
All stable and develop builds of Geth and tools |
||||
</Text> |
||||
</ListItem> |
||||
<ListItem> |
||||
<Text textStyle='quick-link-text'> |
||||
Archives for non-primary processor architectures |
||||
</Text> |
||||
</ListItem> |
||||
<ListItem> |
||||
<Text textStyle='quick-link-text'> |
||||
Android library archives and iOS XCode frameworks |
||||
</Text> |
||||
</ListItem> |
||||
</UnorderedList> |
||||
|
||||
<Text textStyle='quick-link-text'> |
||||
Please select your desired platform from the lists below and download your bundle of choice. Please be aware that the MD5 checksums are provided by our binary hosting platform (Azure Blobstore) to help check for download errors. For security guarantees please verify any downloads via the attached PGP signature files (see{' '} |
||||
<Link |
||||
href={'#pgpsignatures'} |
||||
variant='light' |
||||
> |
||||
OpenPGP |
||||
</Link>{' '} |
||||
Signatures for details). |
||||
</Text> |
||||
</Stack> |
||||
</DownloadsSection> |
||||
|
||||
<DownloadsSection sectionTitle='Stable releases' id='stablereleases'> |
||||
<Stack p={4} borderBottom='2px solid' borderColor='brand.light.primary'> |
||||
<Text textStyle='quick-link-text'> |
||||
These are the current and previous stable releases of go-ethereum, updated automatically when a new version is tagged in our{' '} |
||||
<Link |
||||
href={GETH_REPO_URL} |
||||
isExternal |
||||
variant='light' |
||||
> |
||||
GitHub repository. |
||||
</Link> |
||||
</Text> |
||||
</Stack> |
||||
|
||||
{/* TODO: swap test data for real data */} |
||||
<DownloadsTable data={testDownloadData.slice(0, amountStableReleases)}/> |
||||
|
||||
<Stack sx={{ mt: '0 !important' }}> |
||||
<Link as='button' variant='button-link-secondary' onClick={showMoreStableReleases}> |
||||
<Text |
||||
fontFamily='"JetBrains Mono", monospace' |
||||
fontWeight={700} |
||||
textTransform='uppercase' |
||||
textAlign='center' |
||||
p={4} |
||||
> |
||||
Show older releases |
||||
</Text> |
||||
</Link> |
||||
</Stack> |
||||
</DownloadsSection> |
||||
|
||||
<DownloadsSection sectionTitle='Develop builds' id='developbuilds'> |
||||
<Stack p={4} borderBottom='2px solid' borderColor='brand.light.primary'> |
||||
<Text textStyle='quick-link-text'> |
||||
These are the develop snapshots of go-ethereum, updated automatically when a new commit is pushed into our{' '} |
||||
<Link |
||||
href={GETH_REPO_URL} |
||||
isExternal |
||||
variant='light' |
||||
> |
||||
GitHub repository. |
||||
</Link> |
||||
</Text> |
||||
</Stack> |
||||
|
||||
{/* TODO: swap for real data */} |
||||
<DownloadsTable data={testDownloadData.slice(0, amountDevelopBuilds)} /> |
||||
|
||||
<Stack sx={{ mt: '0 !important' }}> |
||||
<Link as='button' variant='button-link-secondary' onClick={showMoreDevelopBuilds}> |
||||
<Text |
||||
fontFamily='"JetBrains Mono", monospace' |
||||
fontWeight={700} |
||||
textTransform='uppercase' |
||||
textAlign='center' |
||||
p={4} |
||||
> |
||||
Show older releases |
||||
</Text> |
||||
</Link> |
||||
</Stack> |
||||
</DownloadsSection> |
||||
|
||||
<DownloadsSection sectionTitle='OpenPGP Signatures' id='pgpsignatures'> |
||||
<Stack p={4} borderBottom='2px solid' borderColor='brand.light.primary'> |
||||
<Text textStyle='quick-link-text'> |
||||
All the binaries available from this page are signed via our build server PGP keys: |
||||
</Text> |
||||
</Stack> |
||||
|
||||
{/* TODO: swap for real data */} |
||||
<Stack borderBottom='2px solid' borderColor='brand.light.primary'> |
||||
<DataTable |
||||
columnHeaders={DOWNLOAD_OPENPGP_BUILD_HEADERS} |
||||
data={pgpBuildTestData} |
||||
/> |
||||
</Stack> |
||||
|
||||
{/* TODO: swap for real data */} |
||||
<Stack> |
||||
<DataTable |
||||
columnHeaders={DOWNLOAD_OPENPGP_DEVELOPER_HEADERS} |
||||
data={pgpDeveloperTestData} |
||||
/> |
||||
</Stack> |
||||
</DownloadsSection> |
||||
|
||||
<DownloadsSection sectionTitle='Importing keys and verifying builds' id='importingkeys'> |
||||
<Stack p={4} borderBottom='2px solid' borderColor='brand.light.primary'> |
||||
<Text textStyle='quick-link-text'> |
||||
You can import the build server public keys by grabbing the individual keys directly from the keyserver network: |
||||
</Text> |
||||
|
||||
{/* TODO: These keys depends on the binary */} |
||||
<Code p={4}> |
||||
gpg --recv-keys F9585DE6 C2FF8BBF 9BA28146 7B9E2481 D2A67EAC |
||||
</Code> |
||||
</Stack> |
||||
|
||||
<Stack p={4} borderBottom='2px solid' borderColor='brand.light.primary'> |
||||
<Text textStyle='quick-link-text'> |
||||
Similarly you can import all the developer public keys by grabbing them directly from the keyserver network: |
||||
</Text> |
||||
|
||||
{/* TODO: These are developer keys, do we need to change? */} |
||||
<Code p={4}> |
||||
gpg --recv-keys E058A81C 05A5DDF0 1CCB7DD2 |
||||
</Code> |
||||
</Stack> |
||||
|
||||
<Stack p={4}> |
||||
<Text textStyle='quick-link-text'> |
||||
From the download listings above you should see a link both to the downloadable archives as well as detached signature files. To verify the authenticity of any downloaded data, grab both files and then run: |
||||
</Text> |
||||
|
||||
{/* TODO: These keys depends on the binary */} |
||||
<Code p={4}> |
||||
gpg --verify geth-linux-amd64-1.5.0-d0c820ac.tar.gz.asc |
||||
</Code> |
||||
</Stack> |
||||
</DownloadsSection> |
||||
</Stack> |
||||
</main> |
||||
</> |
||||
) |
||||
} |
||||
|
||||
export default DownloadsPage |
@ -1,3 +1,4 @@ |
||||
export * from './colors'; |
||||
export * from './shadows'; |
||||
export * from './sizes'; |
||||
export * from './textStyles'; |
||||
|
@ -0,0 +1,3 @@ |
||||
export const shadows = { |
||||
linkBoxShadow: '0 0 0 1px #11866f !important' |
||||
} |
Loading…
Reference in new issue