기여하고 싶지만 어떻게 시작해야 할지 모르겠는 흥미로운 오픈 소스 프로젝트를 접한 적이 있습니까? 아니면 흥미로운 오픈 소스 프로젝트에 기여하고자 하는 상대적으로 경험이 풍부한 개발자(또는 오픈 소스에 대해 더 잘 알고 있는 사람)일 수도 있습니다. "오픈소스에 기여하려면 어떻게 시작해야 하나요?"에 대한 귀하의 질문에 대한 답변이 있습니다.
기술적으로, 나는 일반적인 의미에서 그 질문에 대답하지 않을 것입니다. 이 기사는 특정 오픈 소스 프로젝트인 Utreexo에 더 중점을 둘 것입니다. 그래서 이번 포스팅은 오히려 “Utreexo에 어떻게 기여를 시작하나요?”라는 질문에 답하는 것이 목표인 것 같아요.
글쎄요, 여기 계시다면 Utreexo에 대해 어디선가 들어보셨거나, 적어도 비트코인과 관련된 프로젝트라는 사실은 아실 거라 생각합니다. 그러나 들어본 적이 없더라도 괜찮습니다. 더 자세히 분석하고 관련 링크도 제공하려고 노력할 것입니다. 그러나 비트코인의 작동 방식에 대한 높은 수준의 지식을 갖는 것이 좋습니다. 이 글입니다.
어쨌든 위의 질문에 답하기 위해 먼저 Utreexo가 달성하고자 하는 목표에 대한 배경 지식을 조금 말씀드리겠습니다.
우리가 알고 있는(또는…아직 모르는) 비트코인 네트워크는 블록체인이라고 알려진 디지털 원장에 모든 거래 기록을 저장합니다. 이 원장은 네트워크에서 수행된 모든 거래에 대한 기록을 포함합니다. 그러나 네트워크의 현재 상태는 반드시 네트워크에서 발생한 모든 기록을 포함하는 것은 아니며, 모든 사용되지 않은 트랜잭션 출력(UTXO 세트) 세트로 구성됩니다. 이 세트에는 "어떤 지갑에 무엇이 있는지"에 대한 정보가 들어 있습니다. 간단히 말해서, UTXO 세트에는 기본적으로 비트코인 지갑이 계정에 얼마나 많은 비트코인을 보유하고 있는지에 대한 기록만 포함되어 있습니다. 글쎄, 우리의 비트코인 지갑에는 일반적으로 여러 개의 미사용 거래 출력이 있기 때문에 마지막 문장은 그다지 정확하지 않습니다. 이를 결합하면 지갑 잔액과 사용할 수 있는 금액이 반영됩니다.
문제는 네트워크의 트랜잭션 수가 증가함에 따라 이 비트코인 상태가 더 빠르고 더 크게 성장하고 있다는 것입니다. 이는 크기가 클수록 더 큰 하드웨어 리소스가 필요하기 때문에 상당한 확장성 문제를 야기하며, 이로 인해 일부 사람들은 다른 단점 중에서도 비트코인 노드를 운영하지 못하게 될 수 있습니다.
유트리엑소(Utreexo)가 바로 여기에 있습니다.
그래서 다시 '유트리엑소'가 무엇인지 묻습니다. Utreexo는 해시 기반 동적 암호화 누산기를 제안하고 상태의 누산기 표현만 저장하는 컴팩트 상태 노드를 도입하여 완전 검증 노드를 실행하는 데 필요한 저장 공간을 크게 줄이는 방법입니다. 이러한 노드는 거래를 확인하기 전에 발신자의 추가 포함 증명이 필요합니다.
Utreexo를 사용하면 네트워크의 현재 상태가 훨씬 더 작은 크기로 표시됩니다. 이는 리소스 사용량이 적다는 것을 의미하며, 이는 거의 모든 사람이 노드를 편리하게 실행할 수 있도록 장려합니다. 다음 리소스 ELI5: Utreexo — 확장 솔루션 또는 Utreexo를 사용하여 비트코인 네트워크 개선에서 Utreexo에 대한 자세한 내용을 읽어보거나 여기에서 Utreexo 백서를 다운로드할 수 있습니다.
개발 환경 설정
이제 Utreexo에 대해 조금 더 알게 되었으니, 개발 환경 설정에 대해 살펴보겠습니다.
Utreexo는 Go로 작성되었으므로 Go 프로그래밍 언어에 대한 기본 지식과 이해가 있으면 보너스가 됩니다. 하지만 Go를 처음 사용하는 경우 이러한 리소스를 확인하여 언어에 대해 더 많이 알고 언어의 몇 가지 기본 개념을 이해할 수 있습니다. Effective Go, Learn Go.
이 게시물에는 Visual Studio 코드를 사용하지만 원하는 텍스트 편집기를 자유롭게 사용해도 됩니다.
먼저 Go 프로그래밍 언어를 설치해야 합니다. 설치 단계는 여기서 다루지 않지만 Go 프로그램을 설치하고 실행하는 방법을 자세히 설명하는 이 기사를 확인할 수 있습니다. Go를 다운로드하여 설치하세요. 기사에 따라 Go 설치를 완료하고
고 버전
코드베이스 복제를 진행할 수 있습니다. 여기서는 Git에 대한 기본 지식이 있으면 도움이 됩니다. 먼저 컴퓨터 시스템에 git을 설치해야 합니다. Git이 설치되어 있는지 확인하려면 새 터미널이나 Powershell 창을 열고 다음을 입력하세요.
git –버전
git이 설치된 경우 버전 번호와 함께 출력이 표시됩니다. 그렇지 않은 경우 Git 설치의 지시문을 사용하여 Git 설치를 진행해야 합니다.
그런 다음 다음 명령을 시도해 볼 수 있습니다
git –버전
또. git이 성공적으로 설치되면 이제 저장소 포크 및 복제를 진행할 수 있습니다.
저장소를 포크한다는 것은 기본적으로 개인 GitHub 계정에 저장소 복사본을 만드는 것을 의미합니다. 이후 변경 사항은 포크된 저장소로 푸시된 후 풀 요청을 제출할 수 있습니다.
저장소를 복제하려면 원하는 위치로 이동하여 터미널에서 엽니다. 또는 터미널을 사용하여 직접 탐색할 수도 있습니다.
예를 들어 데스크탑에 Utreexo 코드를 저장할 "Projects"라는 폴더가 있다고 가정해 보겠습니다. 간단히 데스크탑으로 이동한 다음 "Projects" 폴더를 열고 그 안에서 마우스 오른쪽 버튼을 클릭하여 Windows 및 Ubuntu의 경우 "터미널에서 열기"입니다. 또는 터미널 창 내부에서 직접 탐색할 수도 있습니다
먼저 탐색하여 시스템의 루트 디렉토리에 있는지 확인하겠습니다.
CD~
그리고
cd 데스크탑/프로젝트
여기서 저장소를 복제해야 합니다. 여기서 약간의 고려사항이 있습니다. GitHub의 utreexo 주요 조직을 방문하면 여러 저장소가 있습니다. 그 중 하나는 실제 동적 누산기 구현을 포함하는 utreexo 저장소이고, Utreexo를 지원하는 비트코인 전체 노드 구현인 utreexod 저장소가 있습니다. 우리는 후자, 즉 Utreexo를 지원하는 비트코인 풀 노드 구현에 중점을 둘 것입니다. 포크를 진행한 다음 저장소를 복제해 보겠습니다
저장소를 포크하려면 utreexod repo github 페이지로 이동하고 맨 오른쪽에 "포크" 버튼이 있습니다.
이것을 클릭하고 화면의 지시를 따라야 합니다. 완료되면 개인 github 계정에 이 저장소와 동일한 복사본이 생성됩니다.
이제 개인 계정에서 저장소 복제를 진행할 수 있습니다
git clone https://github.com/yourgithubusername/utreexod.git
완료되면 텍스트 편집기로 폴더를 열고 GitHub 저장소 설명에 설명된 대로 모든 종속 항목 설치를 진행할 수 있습니다. 이제 시작되었습니다.
이제부터는 코드 베이스의 다양한 섹션과 각 섹션이 담당하는 작업을 이해하는 시간을 갖겠습니다. 코드 베이스에 대한 폭넓은 아이디어를 얻은 후에는 저장소의 문제 섹션을 확인하여 해결하고 싶은 문제나 기능 제안을 찾을 수 있습니다.
식별되면 새 브랜치를 생성하고 브랜치 이름을 적절하게 지정합니다
git branch feature1 git checkout feature1
여기서 'feature1'은 우리가 작업할 기능의 이름입니다. 좀 더 설명적인 이름을 지정하세요.
기능 작업을 마치고 준비가 되었다고 생각되면 커밋하고 github에 푸시한 다음 풀 요청을 보냅니다.
커밋하려면 먼저
를 사용하여 변경한 사항을 스테이징합니다.git add .
그런 다음
으로 커밋을 진행합니다.git commit -m “메시지 커밋”
커밋 메시지는 변경 사항에 대한 간단한 설명이어야 하며 위에서 언급한 대로 따옴표로 묶어야 합니다.
vscode를 사용하는 경우 git 확장은 이러한 모든 프로세스를 실제로 단순화합니다.
변경 사항을 커밋하고 github에 푸시하는 방법에 대한 추가 리소스가 필요한 경우 이 리소스를 확인하고 풀 요청 생성에 대해서는 여기에서 확인할 수도 있습니다.
풀 요청이 이루어진 후 관리자의 업데이트를 기다립니다. 모든 것이 정렬되고 더 많은 변경 사항이 요청되면 풀 요청이 병합되고… Utreexo에 성공적으로 기여하셨습니다
이와 같은 오픈 소스 기여는 주요 소프트웨어의 원동력이며, 수만 명의 사용자가 사용하는 소프트웨어를 변경하므로 오픈 소스에 기여하는 것은 매우 중요합니다. 그 기여는 높은 수준의 만족도를 가져옵니다. 여기에서 다른 커뮤니티 구성원 및 유지관리자와 계속 관계를 구축하고 정기적으로 소프트웨어에 계속 기여하는 것이 좋습니다.
위 내용은 Utreexo에 기여를 시작하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!