분산 스토리지 솔루션
이 글에서는 분산 애플리케이션(dApp)에 통합할 수 있는 다양한 분산 스토리지 솔루션에 대한 간략한 개요를 볼 수 있습니다. 이를 통해 기본 NEAR 스토리지에 대한 보다 경제적 인 대안을 사용하여 많은 양의 데이터를 저장할 수 있습니다.
온체인 스토리지 제약 조건
데이터를 온체인에 저장하려면 다음 사항을 염두에 두어야 합니다:
- 파일을 무제한으로 저장할 수 있지만, 100KB당 1N의 비용이 듭니다.
- 한 번에 업로드할 수 있는 용량에는 4MB의 제한이 있습니다.
예를 들어, NFT를 순수하게 체인에 저장하려는 경우(아래 언급된 것처럼 IPFS 또는 일부 분산형 스토리지 솔루션을 사용하는 대신), 스토리지 용량은 거의 무제한이지만 사용된 스토리지의 100KB당 1 $NEAR를 지불해야 합니다(스토리지 스테이킹 참고).
MAX_GAS
의 제약으로 인해 사용자는 컨트랙트 호출 업로드당 4MB로 제한됩니다. 주어진 functionCall
에 첨부할 수 있는 최대 가스량은 300TG입니다.
Arweave
Arweave는 지속 가능하고 영구적인 자산(인플레이션 및 장기간에 걸친 스토리지 비용 감소의 혜택을 받는 프로토콜 내 보유 토큰)으로 데이터를 뒷받침하는 새로운 유형의 스토리지입니다. 이를 통해 사용자 와 개발자는 데이터를 영원히 저장할 수 있습니다. Arweave는 공동 소유의 하드 드라이브 역할을 하며, 사용자가 귀중한 정보, 앱 및 기록을 무기한 보존할 수 있도록 합니다.
Arweave 프로토콜은 데이터를 저장하거나 콘텐츠를 영구적으로 호스팅해야 하는 개인 및 조직과 대규모 집단 하드 드라이브 공간을 가진 인센티브화된 채굴자 무리를 매칭시켜줍니다. 이는 탈중앙화 네트워크를 통해 달성되며, 저장된 모든 데이터는 블록 채굴 보상과 영구적으로 사용할 수 있도록 하는 지속 가능한 기부금으로 지원됩니다.
구현 예시
로컬 Arweave 게이트웨이와 같은 서버를 실행하여 Arweave에 일부 파일을 저장하는 방법을 살펴보겠습니다.
Arlocal 설정
Arlocal은 본질적으로 Arweave의 시뮬레이션 버전을 생성합니다. 정보를 저장하기 위해 컴퓨터에서 실행되는 로컬 노드라고 생각하면 됩니다.
이 예에서는 두 개의 터미널을 실행해야 합니다.
- 첫 번째 터미널을 열고 다음을 실행합니다.
npx arlocal
다음과 같은 응답이 표시되어야 합니다: arlocal started on port 1984
.
npx arlocal <desired port number>
를 사용하여 포트를 지정할 수 있습니다. :::NEAR-Arweave 프론트엔드
NEAR-Arweave 레퍼지토리에는 arlocal을 사용하여 .png
파일 을 저장할 수 있는 간단한 프론트엔드가 있습니다 .
- 이제 두 번째 터미널을 열고 다음 명령을 실행하여 프론트엔드를 복사합니다.
git clone https://github.com/near-examples/NEAR-Arweave-Tutorial.git
- 프로젝트 폴더에서 다음을 실행하여 의존성을 설치합니다.
cd NEAR-Arweave-Tutorial
yarn
- 다음을 실행하여 애플리케이션을 시작합니다.
yarn start