소스출처
http://classicetherwallet.com - 의 내용은github에서 제공합니다.

ClassicEtherWallet

ClassicEtherWallet은 JavaScript언어를 바탕으로 오픈소스 ETC지갑 클라이언트 툴입니다.

목표

ClassicEtherWallet의 개발은 일반 유저들이 명령 행 클라이언트를 사용 시 엄청난 불편함을 겪고 있기 때문입니다. 이번 개발의 목적은 아래와 같습니다.

  • 고객의 지갑파일과 암호키파일 도입
  • 완전한 지갑 클라이언트 생성 및 원시 암호키 제공, JSON파일과 계좌의 종이버전
  • 대규모로 지갑 생성
  • 거래 생성 및 발송
  • 대다수 사람들이 완전한 클라이언트 운행 없이도 일상적인 임무완성을 할 수 있게 도움.

2번째 버전은 이러한 희망사항을 위하여 아래와 같은 특성을 제공합니다.

  • 오프라인 거래 생성 및 발송함으로써 암호키의 안전성 확보
  • 표준 거래발송 선택사항 중 자체정의한 gas와 데이터 포함
  • Angular로 재코딩하여 더 쉽게 업데이트 진행 및 보수가 가능함
  • 다른 사례의 토큰 크라우드 펀딩 지원(Digix,Slock.it 등)
  • geth/Mist암호화폐 저장격식(V3)을 맞추기 위한 새로운 암호화 방법을 사용하여, ClassicEtherWallet과 Mist사이에서 자산이동이 더 쉬워짐.
  • 오프라인 거래페이지의 QR코드로 기기간 이동이 더 간편해짐
  • 미리 정의한 거래페이지로 연결이 가능한 맞춤식 링크생성이 가능하며, 페이지에는 발송주소 및 금액, 데이터와 gas가 기제되어 있어서, 유저는 지갑을 잠금해재한 후 발송버튼만 클릭하면 됨.

개발자

프로젝트에 참여하고 싶으시면 아래 내용 확인 부탁드립니다.

  • Chrome의 확장 프로그램과ClassicEtherWallet.com은 모두 동일한 코드 라이브러리로 편집되었으며 해당 코드는 app파일에서 찾을수 있으며 dist와 chrome-extension파일은 변경 불가함.
  • 저희는 Angular과 Bootstrap을 사용하고 있음. 2016년 4월 전에는jQuery와Bootstrap을 사용했었으나 이러한 변경으로 여러 부분에서 새로운 세팅을 찾아볼 수 있음.
  • Mercury 가지는 현재 개발중의 활발한 가지임. 개발완성 후 저희는dist파일을 gh페이지로 보내어ClassicEtherWallet.com을 업데이트한 후 운행할 것임.
  • 저희는 npm/gulp을 사용하여 코팅을 진행합니다. 코딩 시 많은 내용이 연관됨.
  • 예전의 노드 세팅은json_relay_node(node.js)와json_relay_php(PHP)에서 찾을 수 있음. $40인linnode사례에는 아주 많은 자원들을 참고할 수 있으며, 공공노드를 시작 및 운행할 수 있음.

그럼 시작해 볼까요

  • npm install운행부터 시작함.
  • npm run dev 을 운행합니다. Gulp는 모든것을 코딩하며HTML、JS와 CSS의 변화를 관찰함.
  • npm run dist를 운행하여 배치함.

파일 구조

  • Fonts와 images는 각자의 파일로 이동됨. 이미지 또는 폰트 추가 시gulp을 다시 운행해야 함. 그 이유는 이 두 격식의 파일은 자동으로 코딩이 되지 않기 때문임.
  • Includes 파일은 페이지 조각 또는 페이지 자체로 볼 수 있음. 이러한 파일은 아주 선명함. 여기서 대부분의 프론트 관련 변경을 진행할 수 있음.
  • layouts파일은 페이지 자체임. 거의 모든 페이지를 하나의 가장 큰 페이지로 코딩함. 네비게이션바도 여기서 찾아볼 수 있음. 예를 들면:
    • index.html 는 https://ethereumproject.github.io/etherwallet/ 제시함.
    • cx-wallet.html는Chrome확장프로그램의 주요페이지임.
    • embedded.html 는https://ethereumproject.github.io/etherwallet/embedded.html. 을 제시함.
  • 사용방법: @@if (site === 'cx' ) { ... } 과 @@if (site === 'mew' ) { ... }는ClassicEtherWallet.com에서Chrome확장프로그램의 노출을 제어할 수 있음. sendTransaction.tpl로 그 행위를 관찰할 수 있으며 전자는Chrome확장 프로그램으로만 코딩되나 후자는ClassicEtherWallet.com으로만 코딩됨.
  • embedded.html은 지갑 생성 후 제3자 사이트로 삽입시킴.
  • scripts/directives/walletDecryptDrtv.js에서 지갑 암호해제 명령을 진행하며 이는 여러 페이지에 노출됨.
  • 목차안내는scripts/services/globalServices.js에 있으며 이 파일을 통해 각 목차항목이 어느 사이트에 노출되는지를 결정함.
  • 2016년 9월까지,거의 모든.tpl 파일 중의 카피는 단지 페이스홀더로만 존재하였으나 이는Angular-translate로 대체되었다. 만약 카피본을 수정하고 싶을 경우, scripts/translations/en.js 파일에서 진행하여야 함. 또한 수정한 내용을 파일의 가장 윗부분으로 옮겨야 필요할 경우 이에 대하여 번역을 진행함.
  • Styles는 자체 정의 파일과 목차프로그램이 포함되어 있으며 이는 반드시 다시 만들어야 함!

문의사항

위 내용 외에 기타 특징 또는 운행 중 에러발생 시 연락 부탁드립니다.