블로그 1뉴스 개발자 엔터프라이즈 블록 체인 설명 이벤트 및 컨퍼런스 보도 자료뉴스 레터

뉴스 레터 구독.

이메일 주소

우리는 귀하의 개인 정보를 존중합니다

홈 블로그 블록 체인 개발

개인 키를 GitHub에 업로드하지 않는 방법 : 비밀을 공개하는 것을 방지하는 방법

스마트 계약을 개발하는 동안 개인 키와 API 비밀을 안전하게 유지하십시오 .2020 년 10 월 7 일 게시일 : 2020 년 10 월 7 일

잠긴 나무 문 PPCRJ2J

쿠건 브레넌과 토마스 헤이

1 년에 몇 번, 이야기 만든다 그만큼 라운드 블록 체인 프로젝트를 구축하는 동안 지갑을 생성하는 데 사용되는 극비 니모닉 문구를 공개 GitHub 페이지에 실수로 업로드 한 불행한 이더 리움 개발자의 말입니다. 몇 초 내에 지갑이 “해킹”되어 자금이 소진되었습니다..

그러나 실제로 해킹 된 것은 없습니다. 모든 자산을 “해커”주소로 전송하는 거래는 완벽하게 건전합니다. 이것이 네트워크가 그것을 처리하고 받아들이는 이유입니다. 네트워크는 거래에 서명하는 사람이나 의도가 무엇인지는 신경 쓰지 않고 암호화가 건전하다는 것입니다. 네트워크는 니모닉 또는 생성 된 개인 키를 소유 한 사람이 해당 계정에있는 자산의 정당한 소유자라고 가정합니다.. 

그것은 지갑을 통제하지 못한 사람에게 차가운 위안입니다. 즉각적인 반응은 지갑이 해킹 당했다고 생각하는 것입니다. 이해할 수 있습니다! 하지만 지갑이 도용되었는지 궁금해지기 전에 자신도 모르게 개인 정보를 노출하지 않는지 확인하는 것이 좋습니다..

다음은 유사한 상황에 빠지지 않도록하기위한 몇 가지 확실한 단계입니다. (보너스 포인트 :이 기사에서 설명하는 기술은 모든 프로젝트, 블록 체인 여부에 관계없이 보안 위생에 탁월합니다!)

아래에서는 GitHub 저장소에 비밀 (API 키, 개인 키, 시드 문구, 데이터베이스 비밀번호)을 게시하지 않는 방법에 대한 두 가지 접근 방식을 설명합니다.

접근 방식 1 : .gitignore, a.env 파일 및 dotenv 사용 (Solidity에 공통된 패턴과 다음을 사용하는 워크 플로를 사용하여 개발 중이라고 가정) 트뤼플메타 마스크, 일반화되었지만)

1 단계 : 문서 읽기.Gitignore. 진지하게, 문서의 전체 페이지를 읽으십시오.

A.gitignore 파일을 사용하면 추적하지 않아야하는 파일을 지정할 수 있습니다. 프로젝트를 개발중인 디렉토리 내에 .gitignore 파일을 생성합니다. 해당 파일 내에서 추적하지 않을 파일을 지정합니다. 문서는 파일을 추적 (또는 추적)하지 않기 위해 사용할 수있는 다양한 텍스트 패턴을 설명합니다..

다음은 하나의 예입니다.

imageofgitignorefile 1

20 행에서 a.env 파일을 추가했습니다.

2 단계 : 환경 변수를 저장할 a.env 파일 설정

원래 버전 7 Unix에서 구현 된 환경 변수 (Bell Labs에서 1979 년 출시), 설명서 사본을 보려면 여기를 클릭하십시오) 컴퓨팅 시스템이 실행하는 프로세스를 변경합니다. 환경 변수는 학생들이 Ethereum (Unix, Linux, MacOS, Windows)에서 dApp을 빌드하는 데 사용하는 모든 운영 체제에서 구현되었습니다. 이 경우 비밀은 환경 변수로 처리되고 .env라는 파일에 저장됩니다..

다음은 a.env 파일의 예입니다.

exampleofenvfile

3 단계 : 다음에 대한 문서 읽기 Dotenv. dotenv 설치.

Dotenv “a.env 파일에서 process.env로 환경 변수를로드하는 제로 종속성 모듈입니다.” (에서 검색  https://www.npmjs.com/package/dotenv 2020 년 9 월 25 일)

npm install dotenv를 사용하는 nstall dotenv

4 단계 : 애플리케이션 시작에 require ( ‘dotenv’). config ()를 추가합니다. 이 파일에서 process.env 활용.

코드 예 : application.js

// 이것은 application.js의 맨 위입니다 require ( ‘dotenv’). config () // 이것은 파일의 뒷부분에있는 process.env의 예입니다 var PrivateKey = new Buffer (process.env. ["PRIVATE_KEY"], "마녀")) // 다음은 process.env 사용의 또 다른 예입니다. const APIKey = process.env.API_KEY; 코드 언어 : JavaScript (javascript)

5 단계 : 이제 기존 GitHub 리포지토리에 게시하거나 새 GitHub 리포지토리로 푸시하려는 경우 그렇게 할 수 있습니다. 비밀은 GitHub 저장소의 일부로 표시되지 않습니다..

다른 출처의 비디오 자습서 : Daniel Schiffman 코딩 기차 비디오에서 날씨 응용 프로그램을 사용하는 비디오 자습서를 제공합니다. 3.4 환경 변수 (dotenv)로 API 키 숨기기 및 코드를 GitHub에 푸시.

다른 출처의 텍스트 자습서 : Mason ’s Blog에는 20 분 안에 ERC20 토큰을 배포하는 방법. Truffle을 사용하여 스마트 계약을 배포하는 맥락에서 a.env 파일과 dotenv를 사용하는 방법을 설명합니다. 인 푸라.

접근 방식 2 : GitHub 작업에서 암호화 된 비밀 사용 (조직 수준에서 GitHub에 익숙한 사용자에게 적합하며이를 실행하는 데 필요한 권한과 GitHub 계정이 있음).

접근 방식 2는 GitHub에서 특별히 만든 도구를 사용하여 비밀이 코드 배포에 필요한 부분이지만 액세스 권한이 없어야하는 개인에게 공개되어야하는 문제를 해결합니다. 이 접근 방식은 GitHub를 사용하는 조직 또는 개인과 가장 관련이 있습니다.

1 단계 : 문서 읽기 암호화 된 비밀. 진지하게, 문서를 읽으십시오.

암호화 된 비밀을 사용하면 단일 GitHub 리포지토리 또는 여러 GitHub 리포지토리에서 비밀을 저장하고 사용할 수 있습니다. GitHub가 사용 방법을 훌륭하게 설명하므로 사용 방법에 대한 문서를 읽어보십시오. 암호화 된 비밀 이내에 GitHub 작업

2 단계 : 문서에서 지시하는대로 수행합니다. 꽤 좋은 문서입니다. 

결론

이제 비밀이 GitHub에 게시되는 것을 방지하는 두 가지 접근 방식을 알고 있습니다. 이를 수행하는 다른 방법이 있습니까? 확실히. 우리에게 효과적인 두 가지 방법이 있습니다. 우리가 전달하고자하는 요점은 당신의 비밀이 어디에 나타날지에 대해 생각하고 있는지 확인하고 당신 자신을 보호하기위한 조치를 취하도록하는 것입니다. 밖에서 안전하게.

SecuritySmart ContractsSolidityNewsletter 최신 이더 리움 뉴스, 엔터프라이즈 솔루션, 개발자 리소스 등에 대한 뉴스 레터를 구독하십시오.성공적인 블록 체인 제품을 구축하는 방법웨비나

성공적인 블록 체인 제품을 구축하는 방법

이더 리움 노드를 설정하고 실행하는 방법웨비나

이더 리움 노드를 설정하고 실행하는 방법

나만의 Ethereum API를 구축하는 방법웨비나

나만의 Ethereum API를 구축하는 방법

소셜 토큰을 만드는 방법웨비나

소셜 토큰을 만드는 방법

스마트 계약 개발에서 보안 도구 사용웨비나

스마트 계약 개발에서 보안 도구 사용

금융 디지털 자산 및 DeFi의 미래웨비나

금융의 미래 : 디지털 자산 및 DeFi

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me