Dash 설명서¶

Dash는 지불수단의 용도로 특화된 오픈 소스 P2P 암호화폐입니다. Dash는 휴대가 간편하고 저렴하며, 분배 가능한 빠른 형태의 통화를 제공합니다. 최소한의 거래 수수료로 온오프라인으로 안전한 지출이 가능합니다. Bitcoin 프로젝트를 기반으로 Dash는 세계에서 가장 사용자 친화적이고 확장 가능한 지불 시스템을 목표로 합니다. Dash는 Bitcoin의 기능 세트 외에도 직접 거래 (인스턴트샌드(InstantSend)) 와 프라이빗 거래(프라이빗샌드(PrivateSend)) 를 제공하며, 자체 거버닝, 자체 펀딩으로 개인과 기업이 네트워크에 가치를 더하는 작업을 할 수 있습니다. 이 분산형 거버넌스 및 예산시스템 은 최초의 성공적인 분산형 자율조직(DAO, Decentralized Autonomous Organizations) 중 하나가 되었습니다.
암호화폐를 처음 사용하는 경우, 기존 은행 시스템과 비교 이해시 가장 중요한 변화 포인트는 거래를 촉진하기 위해 중앙 권한이 없는 두 당사자간에 직접적 거래가 발생한다는 것입니다. 이는 반대로 안전성에 스스로의 책임이 있다는 것을 의미합니다. 자금을 도난 당하거나 분실했을 경우 당신의 거래를 대신 취소해 줄 은행이나 신용 카드 회사는 없습니다. 이러한 의미에서 암호화폐는 현금이나 금과 유사하지만, 올바른 목적지에 자금을 보내는지 확신하는 경우 쉽고 동등하게 국내외에서 사용할 수 있습니다. 이러한 이유로 이 Dash 설명서에서는 Dash의 생태계를 주도하는 개념과 기능에 대한 안전성과 이해에 중점을 둡니다. 아래 영상과 웹페이지, 문서 등은 Dash에 대해 한층 더 쉽게 이해할 수 있게 도움이 되리라 확신합니다.
컨텐츠¶
Dash란 무엇인가?¶
Dash는 전세계에서 가장 사용자 친화적이고 확장성이 뛰어난 지불 중심의 암호화폐가 되는 것을 목표로 합니다. Dash 네트워크는 즉시 거래 가 가능하고, 이중 지불이 방지되며, 현금처럼 익명 결제 가 가능합니다. 자체 거버닝, 자체 펀딩 으로 블록보상이 부여된 마스터노드 로 운영되며, 맞춤식으로 개발된 오픈 소스 하드웨어를 사용하여 향후 최대 400MB 블록까지 네트워크 용량을 확대할 장기적 로드맵 을 가지고 있습니다. Dash는 Bitcoin을 기반으로하고 Bitcoin 생태계의 많은 주요 구성 요소와 호환되지만 2 단계 네트워크 구조는 트랜잭션 속도, 익명 성 및 거버넌스의 상당한 개선을 제공합니다. 이 섹션에서는 블록 체인 경제에서 Dash를 구분하는 주요 기능에 대해 설명하겠습니다.
본 페이지에 업로드된 비디오, 링크, 문서 등은 Dash를 이해하는데 도움이 될 것입니다. 또한 메뉴 왼편에서 특정 관심 주제를 검색할 수도 있습니다. 신규 유저는 지갑 만들기, Dash 구매방법, Dash 사용처 , 안전성 에 대해 더 많은 정보를 얻을 수 있으며, Dash 커뮤니티 사이트 에 참여하실 수 있습니다.
Dash 비디오¶
Dash 스쿨¶
Dash 스쿨은 Amanda B. Johnson이 제작한 6 부작 영상입니다. 초급자부터 고급 기능에 이르기까지 Dash에 대해 설명합니다.
Dash 101¶
Dash 101은 Aaron Koenig이 제작 한 8 부작 영상 시리즈입니다. Dash 네트워크에서만 가능한 고유 특징과 기능을 다루고 있습니다. 현재 지원되는 언어는 다음과 같습니다. 영어, 프랑스어, 독일어, 스페인어 러시아어.
화이트페이퍼¶
Dash 화이트페이퍼는 Dash의 독창적인 가치 제안과 핵심 혁신을 학문적, 이론적 관점에서 설명합니다. 또한 깃허브GitHub 위키에 유지되는 실시간 문서로, 새로운 기능이 구현되면 지속적인 업데이트를 비롯하여 커뮤니티 내에서도 관련내용 번역이 끊임없이 진행되고 있습니다. 추가 세부 사항과 기존의 화이트페이퍼의 특정 기능을 설명하는 각종 화이트페이퍼는 (역사적 이유로) PDF 파일로 다운로드 가능합니다.
기능¶
사양¶
- 2014년 1월 18일 오후 11시(EST)에 첫 블록이 채굴됨
- 사전 채굴 해당 없음
- X11 해싱 알고리즘, CPU/GPU/ASIC 채굴 가능
- 블록 간격 2.6분, 블록 크기 2MB, 초당 ~56회 거래 처리
- 매년 7.14%의 블록 보상 감소
- Dark Difficulty Wave 난이도 조정 알고리즘
- 총 코인 공급량 1,774만~1,892만개 사이
- 분산화된 2계층 마스터노드 네트워크
- 프라이빗샌드를 사용한 우수한 거래 익명화 시스템
- 인스턴트샌드를 이용한 즉각적인 거래
- 블록체인에 의한 분산화된 거버넌스를 통해 마스터노드 소유자가 예산 제안서와 대시에 영향을 미치는 결정에 투표를 진행
마스터노드(Masternodes)¶
사용자들은 대시 채굴에 대한 전통적인 작업 증명(Proof of Work, PoW) 보상뿐만 아니라 마스터노드라고 불리는 특별한 서버를 운영하고 유지하는 데에 대해서도 보상을 받습니다. 이러한 혁신적인 2계층 네트워크 덕분에 대시는 신뢰가 필요없고 분산화된 방식으로 혁신적 기능을 제공할 수 있습니다. 마스터노드는 프라이빗샌드, 인스턴트샌드 및 거버넌스와 재무 시스템을 운영하는 데 사용됩니다. 사용자는 마스터노드를 운영하는 데에 대한 대가로 보상을 받습니다. 블록 보상의 45%는 마스터노드 네트워크에 할당됩니다. 마스터노드와 관련된 모든 실용적인 가이드는 이곳에서 확인하세요 .
마스터노드는 다음의 서비스에 활용됩니다.
- 인스턴트샌드 를 통해 즉각적인 거래가 가능합니다. 대시 인스턴트샌드 거래는 2초 내에 완전한 확인이 가능합니다.
- 프라이빗샌드 는 블록체인상의 자금의 출처를 가림으로써 금융 프라이버시를 제공합니다.
- 거버넌스와 재무 시스템 을 통해 대시의 이해 관계자는 프로젝트의 방향을 결정하고 블록 보상의 10%를 프로젝트 및 대시 생태계 개발에 충당합니다(2018년 4월 현재 연간 예산은 3천만 달러 이상).
- 대시 에볼루션 은 암호화폐 사용을 페이팔 사용만큼 쉽게 만들 것입니다.
마스터노드 소유자들은 반드시 1000대시를 소유해야 합니다. 이는 메시지에 사인하고 네트워크에 송출함으로써 증명됩니다. 이들 코인은 어느 때나 옮길 수 있지만, 코인을 옮기면 보상을 받을 수 없습니다. 마스터노드 사용자들은 또한 제안서에 대한 투표권 을 얻습니다. 각 마스터노드는 한 개의 투표권을 지니며, 이 투표권은 예산 제안서 및 대시에 영향을 미치는 중요한 결정에 행사합니다.
마스터노드를 호스트하는 데는 비용과 노력이 발생합니다. 따라서 이를 위한 인센티브로서 블록 보상의 일부 퍼센티지가 지급됩니다. 현재 마스터노드의 숫자와 보상을 고려할 때, 마스터노드는 2017년 1000대시의 약 8%를 보상으로 받았습니다(2017년 7월 6.97대시 혹은 1,360 USD). 이들 보상은 매 해 7%씩 감소하지만, 대시의 가치가 증가하면 이러한 감소량을 상쇄할 수 있을 것으로 보입니다. 사실, 2016년 초 마스터노드는 매월 140대시를 보상으로 받았습니다. 그러나 이는 600 USD로 오늘날보다 적은 가치를 지닙니다. 또한 마스터노드는 장래에 수수료를 통해 수입을 증대할 수 있는 가능성을 가지고 있습니다.
프라이빗샌드(PrivateSend)¶
프라이빗샌드는 당신이 가진 자금의 출처를 가림으로써 진정한 금융 프라이버시를 제공합니다. 당신의 지갑에 있는 모든 대시는 다양한 '입력값'으로 구성되어 있습니다. 이 입력값은 각각 별개의 코인으로 생각할 수 있습니다. 프라이빗샌드는 혁신적 프로세스를 통해 당신의 코인이 지갑을 떠나지 않도록 하면서도 당신의 입력값을 다른 두 사람의 입력값과 믹스합니다. 이로써 당신의 자금에 대한 통제는 언제나 당신에게 있습니다.
프라이빗샌드의 사용에 관한 실용적인 가이드는 이곳에서 확인하세요.
프라이빗샌드는 다음과 같은 방식으로 처리됩니다:
- PrivateSend begins by breaking your transaction inputs down into standard denominations. These denominations are 0.001, 0.01, 0.1, 1 and 10 DASH -- much like the paper money you use every day.
- 이후 당신의 지갑은 ‘마스터노드’라고 불리는 네트워크의 특수 구성 소프트웨어 노드에 요청을 전송합니다. 이로써 이들 마스터노드는 당신이 특정 금액을 믹싱하고자 한다는 정보를 수신합니다. 마스터노드에는 당신의 개인 정보를 식별할 수 있는 어떤 내용도 전송되지 않습니다. 즉 당신이 ‘누구’인지 알 수 있는 방법은 없습니다.
- 두 명의 다른 사람이 비슷한 메시지를 보내어 그들 역시 같은 분할 단위의 금액을 믹싱하고 싶다는 정보를 표시하면 믹싱 세션이 시작됩니다. 마스터노드는 이들 입력값을 믹싱하여 세 사용자의 지갑에 변환된 입력값을 지불하도록 지시합니다. 당신의 지갑은 해당 입력값을 지불하지만, 지불되는 주소는 '변경 주소'라고 불리는 다른 주소로 보내집니다.
- In order to fully obscure your funds, your wallet must repeat this process a number of times with each denomination. Each time the process is completed, it's called a "round". Each round of PrivateSend makes it exponentially more difficult to determine where your funds originated. The user may choose between 1-16 rounds of mixing.
- 이 믹싱 과정은 당신이 개입할 필요 없이 백그라운드에서 진행됩니다. 당신이 거래를 원하시는 경우, 당신의 자금은 이미 익명화가 진행되는 중입니다. 추가적으로 대기할 필요 역시 없습니다.
프라이빗샌드 거래는 반올림되어 모든 거래 입력값을 사용한다는 점에 주의하세요. 초과되는 대시는 거래 수수료에 사용됩니다.
주의: 당신의 지갑은 1000개의 ‘변경 주소’만을 가지고 있습니다. 믹싱이 실행될 때마다 당신의 주소 중 한 개가 사용됩니다. 일정 수의 주소가 사용되면 당신의 지갑은 더 많은 주소를 만들어야 합니다. 그러나 이러한 작업은 당신이 자동 백업을 활성화한 경우에만 가능합니다. 따라서 자동 백업을 비활성화한 사용자는 프라이빗샌드 기능 역시 비활성화 됩니다.
인스턴트샌드(InstantSend)¶
전통적으로 분산화된 암호화폐는 충분한 양의 블록이 통과하도록 일정 시간을 기다려야 합니다. 이로써 거래를 되돌릴 수 없으며, 다른 곳에서 지출된 금액을 이중 지출 하지 않도록 확실히 할 수 있습니다. 이러한 과정에서 일반적으로 약 6개의 블록이 누적되며 시간은 15분에서 1시간이 소요됩니다. 다른 암호화폐의 경우 이러한 거래 속도를 향상시키기 위해 네트워크 상에서 다양한 수준으로 중앙화된 권한을 사용합니다.
대시는 마스터노드를 통한 2계층 네트워크 덕분에 이러한 제한에서 벗어날 수 있습니다. 우선 제출된 거래가 유효한지 여부를 확인하기 위해 투표 쿼럼을 조직하는 데 마스터노드가 사용됩니다. 만일 유효하다면 마스터노드는 거래를 위해 입력값을 '잠그고' 이러한 정보를 네트워크에 송출합니다. 이로써 거래가 채굴된 블록에 포함되고 거래 확인 시간 동안 이들 입력값이 다른 곳에 지출되지 않도록 합니다.
인스턴트샌드 기술은 대시와 같은 암호화폐가 중앙화된 권력에 의지하지 않고도 POS(Point-on-Sale)가 필요한 환경에서 사용되도록 신용카드와 같이 거의 즉각적인 거래 시스템을 구축할 수 있도록 도와줍니다. 대시와 인스턴트샌드를 수락하는 다양한 판매자들은 (비트코인처럼) 한 시간 가까이 지속될 수 있는 거래 확인 시간을 수 초로 줄임으로써 암호화폐를 혁명적으로 사용할 수 있습니다.
인스턴트샌드에 관한 실용적인 가이드는 이곳에서 확인하세요. 인스턴트샌드는 거래 잠금 및 마스터노드 컨센서스: 이중 지출 공격을 경감하기 위한 매커니즘이라는 제목의 백서에 소개되었습니다.
대시 '인스턴트샌드'가 어떻게 이중 지출로부터 판매자들을 보호하는가, 대시 디테일드 by 아만다 B. 존슨, 2016년 9월 16일
스포크(Sporks)¶
2014년 6월에 업데이트된 'RC3'와 관련하여 예측하지 못한 이슈에 대응하기 위해 대시 개발 팀은 새로운 매커니즘을 개발하고 네트워크에 업데이트된 코드를 선보였으나 즉시 활성화시키지는 않았습니다. 이 혁신은 전통적인 하드 포크 패러다임이나 라이브 네트워크 환경의 테스트 데이터 콜렉션에 비하여 훨씬 부드러운 전환을 가능하게 합니다. 이 다단계 포크 과정은 원래 '소프트 포크'라고 불렸으나 대시 커뮤니티에서는 애정을 가지고 '스포크'라는 이름을 덧붙였으며 현재는 이 스포크로 고정되었습니다.
대시의 새로운 기능 혹은 버전은 메인 네트워크에 선보이기 전에 테스트넷에서 매우 긴 테스트를 통과합니다. 이 대시의 새로운 기능 혹은 버전이 메인넷에 출시되면, 사용자에게 이와 같은 변경을 알리고 클라이언트를 업데이트하라는 정보성 메시지가 전달됩니다. 그러나 클라이어트를 업데이트하고 새로운 코드를 작동시킨다고 하더라도 네트워크 참여자들이 이 업데이트에 관한 컨센서스에 도달하기 전까지(일반적으로 80%) 이 새로운 버전은 작동하지 않습니다. 새로운 코드와 관련하여 에러가 발생하는 경우 클라이언트의 블록은 네트워크에 의해 거부되지 않으며 의도적이지 않은 포크는 차단됩니다. 이후 에러에 관한 데이터가 수집되어 개발 팀에 전달됩니다. 개발 팀이 메인넷 상에서 새로운 코드의 안정성을 승인하고 네트워크가 컨센서스에 도달하면, 업데이트된 코드의 집행이 코어 개발 팀 내 다수의 멤버들이 각자의 프라이빗 키로 네트워크 메시지에 서명함으로써 원격으로 활성화됩니다. 만일 문제가 발생하는 경우, 네트워크 전체가 회귀하거나 클라이언트를 업데이트할 필요 없이 같은 방식으로 코드가 비활성화될 수 있습니다. 각각의 스포크에 대한 기술적인 세부 사항은 이곳에서 확인하십시오.
X11 해시 알고리즘(X11 Hash Algorithm)¶
X11은 대시 코어 개발자인 에반 듀필드에 의해 만들어졌으며 널리 사용되는 해싱 알고리즘입니다. X11의 체인 해싱 알고리즘은 작업 증명을 위한 11개의 과학적 해싱 알고리즘 시퀀스를 활용합니다. 이로써 분배 과정을 공정하게 처리하고 코인은 비트코인의 초기 방식에 보다 가깝게 분배됩니다. X11은 대시용 ASIC을 만들기 어렵도록 설계되었으며, 이로써 중앙화된 채굴 방식이 위협적으로 변화할 때까지 개발에 충분한 시간을 제공할 수 있습니다. 이 접근 방식은 크게 성공적이었습니다. 2016년 초 현재 X11용 ASIC이 존재하며 네트워크 해시 레이트의 상당수를 차지하지만 비트코인에 나타나는 바와 같은 수준의 중앙화는 진행되지 않고 있습니다. X11 채굴에 관한 정보는 이 문서의 채굴 항목에서 확인하실 수 있습니다.
X11은 대시(2014년 1월 'Xcoin'으로 런칭)에 소개된 체인 작업 증명(Proof-of-Work, PoW) 알고리즘의 이름입니다. 이는 부분적으로 쿼크의 체인 해싱 접근 방식에 영감을 받았으며, 해시의 숫자를 증가시킴으로써 '뎁스Depth'와 복잡성을 추가하였습니다. 그러나 이는 일부 해시가 무작위로 선택되는 대신 해시의 라운드가 연역적으로 결정되어있다는 점에서 쿼크와는 차이점을 보입니다.
X11 알고리즘은 11개의 다양한 해시(blake, bmw, groestl, jh, keccak, skein, luffa, cubehash, shavite, simd, echo)의 다중 라운드를 사용하며, 이로써 현대 암호화폐에서 사용되는 가장 안전하고 정교한 암호학 해시 중 하나가 되었습니다. X11라는 이름은 UNIX와 같은 운영 시스템과 공통점을 가진 오픈 소스 X11 윈도우 시스템과는 관련이 없습니다.
X11의 장점¶
체인 알고리즘의 증가된 복잡성과 정교함은 SPOF(Single Point Of Failure)와 같은 보안 위험에 대한 보호를 제공하지 않는 단일 해시 PoW와 비교할 때 향상된 보안을 제공하며 디지털 통화의 불확실성을 줄여줍니다. 예컨대, SHA256 해시를 '돌파'할 가능성이 있으나 개연성이 없는 컴퓨팅 돌파구는 해당 네트워크가 또 다른 암호학적 해시로 하드포크 함으로써 전환되기 전 까지는 전체 블록체인 네트워크를 위태롭게 할 수 있습니다.
유사한 컴퓨팅 돌파구가 발생하는 경우, 모든 열 한 개의 해시가 동시에 충돌하지 않는 한, X11 PoW를 사용하는 디지털 통화는 계속해서 안전하게 작동합니다. 이들 열 한 개의 해시 중 일부를 신뢰할 수 없는 것으로 입증된 경우에도 X11을 사용하는 통화에 충분한 경고를 제공하여 문제가 되는 해시를 측정하고 더욱 신뢰할 수 있는 해싱 알고리즘으로 교체할 수 있습니다.
디지털 통화의 투기적 성격 및 새로운 분야로서의 내재된 불확실성을 고려하면, X11 알고리즘은 사용자와 잠재적 투자자에게 단일 해시 접근법이 보장하지 못하는 향상된 신뢰를 부여합니다. X11과 같은 체인 해싱 솔루션은 가치의 저장 및 투자 다양성 측면에서 보다 나은 안전성과 지속성을 제공하며, SPOF(Single Point Of Failure)로 인해 어려움에 직면하는 단일 해시와 관련한 헤지 위험성을 낮추어줍니다.
대시 및 X11 체인 해시를 만든 에반 듀필드는 비트코인이 걸었던 것과 유사한 이동로(CPUs, GPUs, ASICs)를 따르는 대신, 장래에 ASIC 제조사들이 X11을 위한 ASIC을 제조하는 것을 방해하지 않으면서도 X11을 대시에 통합하는 다양한 상황에 대해 기술한 바 있습니다.
대시 그래비티 웨이브(Dark Gravity Wave)¶
DGW 혹은 다크 그래비티 웨이브Dark Gravity Wave는 비트코인을 바탕으로 한 암호화폐를 위한 오픈 소스 난이도 조절 알고리즘으로, 대시에 처음 사용된 이래로 다른 암호화폐에서도 사용되고 있습니다. DGW 는 키모토의 그래비티 웰Kimoto's Gravity Well 에서 발견된 타임랩 취약점 공격에 대한 대응으로서 대시의 개발자이자 창립자인 에반 듀필드에 의해 씌었습니다. 개념상, DGW 는 최근에 발견된 블록으로부터의 통계적 데이터를 기반으로 하여 (비트코인의 2016 블록 대신)매 블록의 난이도를 조정한다는 점에서 키모토 그래비티 웰과 유사합니다. 이는 만일 해싱 파워가 심각한 변동을 겪더라도 타임랩 취약점 공격을 받지 않고 상대적으로 일관된 시간에 블록을 생성할 수 있도록 도와줍니다.
- 버전 2.0의 DGW 는 타임랩 취약점 공격을 완전히 경감하기 위하여 대시의 45,000 블록 이래로 구현되었습니다.
- 버전 3.0은 더 부드러운 전환을 거쳐 난이도 재조정을 향상시키기 위하여 2014년 5월 14일 구현되었습니다. 이는 또한 정수의 사용을 통하여 다양한 레벨의 부동 소수점 정확성과 관련된 이슈를 개선합니다.
방출 비율¶
대시나 비트코인과 같은 암호화폐는 암호학적으로 어려운 과정인 채굴을 통하여 생성됩니다. 채굴은 당시의 채굴 난이도를 위한 유효한 정답이 발견될 때까지 반복적으로 해시 알고리즘을 푸는 과정을 포함합니다. 일단 이 정답이 발견되면, 채굴자는 해당 통화의 새로운 단위를 생성합니다. 이는 블록 보상이라고도 알려져 있습니다. 해당 통화가 끝없는 인플레이션을 겪지 않게 하기 위하여 블록 보상은 이 공식에서 보이는 바와 같이 일정한 간격으로 감소합니다. 이 데이터의 도식화는 현재 유통중인 총 코인을 그래프로 보여줍니다. 이는 코인 방출 비율Emission rate이라고도 불립니다.
대시는 비트코인을 기반으로 하지만, 시간이 흐름에 따라 코인의 공급량을 보다 부드럽게 감소하기 위하여 코인 방출 비율을 크게 조정합니다. 비트코인이 코인 방출 비율을 매 4년마다 50퍼센트씩 감소하는 반면, 대시의 경우 매 210240블록(약 383.25일)마다 1/14(약 7.14%) 비율로 그 공급량이 감소합니다. 매년 감소하는 블록 보상의 양을 줄임으로써 비트코인에 비하여 수수료 기반의 경제로 더욱 부드럽게 전환하는 것이라고 볼 수 있습니다.

비트코인 vs. 대시 코인 방출 비율
총 코인 방출¶
비트코인의 총 코인 방출은 약 21,000,000 BTC에 가까운(그러나 절대 이 숫자에 도달하지 않는) 총 방출을 통해 등비 급수의 총합으로 계산될 수 있습니다. 이는 2140년까지 계속될 것이나, 채굴 보상은 빠르게 감소하여 2036년까지 전체 비트코인의 99%, 2048년까지 99.9%가 공급될 예정입니다.
대시의 총 코인 방출 역시 등비 급수의 총합으로 계산될 수 있으나, 궁극적인 총 코인 방출은 불확실합니다. 이는 예산 제안서를 위한 10퍼센트의 블록 보상이 얼만큼이 될 것인지가 불확실하기 때문입니다. 예산 제안서에 할당되는 금액은 미래의 투표 성향에 달려 있습니다. 대시는 채굴이 1 대시 이하를 생성하게 될 때까지 약 192년 동안 계속해서 코인을 방출할 예정입니다. 2209년 이후에는 약 14대시만이 생성될 예정입니다. 마지막 대시를 채굴하는 데는 2246년에 시작하여 방출이완전히 멈추는 2477년 까지 약 231년이 걸릴 예정입니다. 이러한 숫자들에 근거할 때 2254년의 잠재적인 코인 공급 최대 및 최소치는 다음과 같습니다.
17,742,696 대시 | 재무 시스템 할당을 고려하지 않은 경우 |
18,921,005 대시 | 재무 시스템의 완전한 할당을 고려하는 경우 |
블록 보상 할당¶
100퍼센트의 블록 보상을 채굴자에게 할당하는 비트코인과 달리, 대시는 분산화된 예산 시스템에 10퍼센트의 블록 보상이 책정됩니다. 나머지 블록 보상과 거래 수수료는 채굴자 와 마스터노드에 50대 50으로 분할되는데, 이는 지불 로직에 따라 결정됩니다. 대시는 수퍼블록Super Block을 특징으로 합니다. 이 수퍼블록은 매 16616블록(약 30.29일)마다 출현하며 예산 사이클 주기 동안 쌓인 누적 예산의 10퍼센트를 예산 시스템에서 투표를 통과한 제안서에 릴리즈 합니다. 예산 활용에 따라, 예산 주기 동안의 코인 보상 할당은 다음과 같은 형태로 이루어질 수 있습니다.
45% | 채굴 보상 |
45% | 서비스 증명Proof-of-service을 위한 마스터노드 보상 |
10% | 분산화된 거버넌스 예산 |
이 문서는 계산에 의거하고 있으며 moocowmoo에 의해 작성되었습니다. 더 자세한 내용을 위해서는 이 레딧 게시물 <https://www.reddit.com/r/dashpay/comments/ 7fc2on/dash_over_1000_in_a_few_weeks/dqb4pjn/>을 확인하시거나 이 도구를 통한 자신만의 방출 계산을 하십시오. 이 웹사이트 를 통해 현재의 네트워크 통계에 대한 라이브 데이터를 확인하세요.
분산화된 거버넌스(Decentralized Governance)¶
블록체인에 의한 분산화된 거버넌스(Decentralized Governance by Blockchain, DGBB)는 거버넌스와 펀딩이라는 암호화폐의 두 가지 문제점을 해결하기 위한 대시의 노력의 산물입니다. 분산화된 프로젝트에 있어 거버넌스는 매우 어렵습니다. 이는 의미상 중앙화된 힘이 존재하지 않아 프로젝트를 위한 결정을 내리는 기관이 없기 때문입니다. 대시에 있어서 이와 같은 결정은 네트워크에 의해 이루어지며, 네트워크는 곧 마스터노드의 소유자들을 일컫습니다. 각 마스터노드는 DGBB 시스템을 통해 각 제안서에 한 개의 투표권을 행사할 수 있습니다(예/아니오/기권). 만일 하나의 제안서가 통과한다면, 대시 개발자들은 프로젝트에 구축할 지의 여부를 결정합니다. 주요 사례는 2016년 초에 있었던 대시 코어 팀의 제안서로, 당시 대시 코어 팀은 블록 사이즈를 2MB로 증가할 것인지에 관한 제안서를 제출하였고, 24시간 내에 이 변화를 승인하는 컨센서스에 도달하였습니다. 동일한 문제에 관하여 비트코인의 경우 블록사이즈에 관한 토론에 약 3년여 가량의 맹렬한 토론이 진행된 바 있습니다.
또한 DGBB는 대시가 자체적 개발에 자금을 지원할 수 있는 도구가 되기도 합니다. 다른 프로젝트들이 기부나 사전 채굴된 자원에 의존할 때, 대시는 블록 보상의 10퍼센트를 동원하여 자체적 개발에 자금을 지원합니다. 매 블록이 채굴될 때마다 블록 보상의 45퍼센트는 채굴자에게, 45퍼센트는 마스터노드에 할당되며, 나머지 10퍼센트는 월말이 될 때까지 생성되지 않습니다. 제안서가 전체 마스터노드 네트워크 중 최소 10퍼센트의 순 승인을 얻으면 월말에 일련의 '슈퍼블록'이 생성됩니다. 이 때 아직 지불 되지 않은 블록 보상(각 블록 보상의 10퍼센트)가 승인된 제안서에 자금을 지원하기 위한 용도로 사용됩니다. 따라서 대시 네트워크는 10퍼센트의 블록 보상을 예산 프로젝트에 스스로 지원하게 됩니다.
대시 거버넌스에 관한 더 자세한 내용은 이 문서의 거버넌스 에서 확인하실 수 있습니다.
센티넬(Sentinel)¶
센티넬은 대시 12.1 거버넌스 오브젝트와 태스크 및 곧 출시되는 대시 V13(에볼루션)에 부속하는 확장된 기능을 지속, 처리 및 자동화 하기 위한 자율 에이전트 입니다. 센티넬은 각 대시 12.1 마스터노드에 로컬 버전 12.1 dashd instance를 결합하기 위한 파이톤 응용 프로그램으로서 도입되었습니다.
거버넌스 오브젝트(혹은 'govObject')는 예산 제안서, 트리거Triggers 및 와치독Watchdogs의 생성을 고려하여 대시 코어 12.1에 소개된 포괄적 구조입니다. 클래스 상속은 현재의 대시 예산 시스템을 대체하기 위해 포괄적인 오브젝트를 '제안서' 오브젝트로 확장하고자 활용되어왔습니다.
"센티넬이 가진 매우 구조적이라는 것입니다. 또한 센티넬은 12.0에서 에볼루션 기능으로 가는(그러나 에볼루션의 전체 기능을 다 구현하지는 않는) 가교 역할을 하기 때문에 사용자들에게 설명하기 쉽지 않기도 합니다. 또한 센티넬은 12.1 개선점일 뿐이기도 하죠. 센티넬 이전에, 거버넌스 기능은 코어 코드에 '고정 배선으로 연결되어 있었다(Hard wired)'고 할 수 있습니다. 센티넬은 이러한 과정을 추출하는데, 에볼루션에는 사용자부터 계정, 연락처 목록 등에 이르기까지 많은 오브젝트 타입이 존재하기 때문입니다. 만일 우리가 우선 이러한 변화를 이끌어내지 않았다면 장래 에볼루션에서의 변경 사항이나 개선점(예: 새로운 타입의 오브젝트를 추가하는 것)을 위해서는 코어 코드 자체를 변경했어야 할 것입니다. 현재 코어는 오브젝트의 유형에 상관 없이 작동하며, 우리는 이를 거버넌스뿐만 아니라 사용자 경험에까지 연결시킬 수 있게 되었습니다. 문서적 측면에서 볼 때 센티넬에 특화된 백서는 없지만 에볼루션의 기초를 이루는 RFC 프로세스에 있어 에볼루션을 위한 다양한 문서가 존재합니다."
—앤디 프리어, 에볼루션 개발자
수수료¶
Transactions on the Dash network are recorded in blocks on the blockchain. The size of each transaction is measured in bytes, but there is not necessarily a correlation between high value transactions and the number of bytes required to process the transaction. Instead, transaction size is affected by how many input and output addresses are involved, since more data must be written in the block to store this information. Each new block is generated by a miner, who is paid for completing the work to generate the block with a block reward. In order to prevent the network from being filled with spam transactions, the size of each block is artificially limited. As transaction volume increases, the space in each block becomes a scarce commodity. Because miners are not obliged to include any transaction in the blocks they produce, once blocks are full, a voluntary transaction fee can be included as an incentive to the miner to process the transaction. Most wallets include a small fee by default, although some miners will process transactions even if no fee is included.
The release of Dash 0.12.2.0 and activation of DIP0001 saw a simultaneous reduction of fees by a factor of 10, while the block size was increased from 1MB to 2MB to promote continued growth of low-cost transactions even as the cost of Dash rises. Dash also supports 인스턴트샌드(InstantSend) and 프라이빗샌드(PrivateSend) transactions, which operate on a different and mandatory fee schedule. Dash 0.13.0.0 introduced InstantSend autolocks, which causes masternodes to automatically attempt to lock any transaction with 4 or fewer inputs — which are referred to as “simple” transactions — and removes the additional fee for InstantSend. The fee schedule for Dash 0.13.x as of December 2018 is as follows:
거래 유형 | 권장 수수료 | 단위당 |
---|---|---|
표준 거래 | .00001 대시 | 거래 데이터의 kB 당 |
InstantSend autolock | .00001 대시 | 거래 데이터의 kB 당 |
인스턴트샌드(InstantSend) | .0001 대시 | 거래 입력값당 |
프라이빗샌드(PrivateSend) | .001 대시 | (평균) 믹싱 10라운드당 |
As an example, a standard and relatively simple transaction on the Dash network with one input, one output and a possible change address typically fits in the range of 200 - 400 bytes. Assuming a price of US$100 per DASH, the fee falls in the range of $0.0002 - $0.0004, or 1/50th of a cent. Processing a simple transaction using InstantSend at the same price is free of charge, while more complex InstantSend transactions may cost around 1-2 cents per transaction, depending on the number of inputs. These fees apply regardless of the Dash or dollar value of the transaction itself.
PrivateSend works by creating denominations of 10, 1, 0.1, 0.01 and 0.001 DASH and then mixing these denominations with other users. Creation of the denominations is charged at the default fee for a standard transaction. Mixing is free, but to prevent spam attacks, an average of one in ten mixing transactions are charged a fee of 0.0001 DASH. Spending inputs mixed using PrivateSend incurs the usual standard or InstantSend fees, but to avoid creating a potentially identifiable change address, the fee is always rounded up to the lowest possible denomination. This is typically .001 DASH, so it is important to deduct the fee from the amount being sent if possible to minimise fees. Combining InstantSend and PrivateSend may be expensive due to this requirement and the fact that a PrivateSend transaction may require several inputs, while InstantSend charges a fee of 0.0001 DASH per input. Always check your fees before sending a transaction.
에볼루션(Evolution)¶
대시 에볼루션 은 대시 블록체인 기술을 바탕으로 구축된 분산화된 통화 플랫폼의 코드 네임입니다. 에볼루션의 목표는 분산화된 기술의 창출을 돕기 위하여 대시의 독특한 기능과 이점에 쉬운 접근을 제공하는 것입니다. 대시는 분산화된 API 액세스 및 분산화된 파일 시스템과 더불어 사용자들이 네트워크를 위해 다양한 작업을 할 수 있는 계층형 네트워크 설계를 제안합니다.
대시 에볼루션은 다양한 단계를 거쳐 출시될 예정입니다. 대시 코어는 12.1부터 12.4를 출시하여 에볼루션의 이면에 있는 분산화된 기능을 위한 발판을 다질 예정입니다. 에볼루션의 알파 버전은 2018년 초에 출시될 것으로 예상되고 있으며, 여기에는 대시드라이브(DashDrive), 기초적 요소, DAPI 및 간단한 T3 지갑의 구현 등이 포함될 예정입니다. 또한 일련의 대시 개선 제안(Dash Improvement Proposals, DIPs)이 함께 출시될 것이며, 뒤이어 가장 기본적 기능을 갖춘 테스트넷 단계를 거쳐 2018년 여름 안정적 첫 출시가 이루어질 예정입니다.
아래의 내용은 에볼루션에 관한 현재의 작업 상황을 나타냅니다. 여기에는 아래와 같은 많은 구성 요소들이 포함됩니다.
- 대시드라이브(DashDrive): 두 번째 계층 네트워크상의 사용자 데이터를 위한 분산화된 공유 파일 시스템 입니다.
- DAPI: 세 번째 계층 사용자들이 네트워크에 안전하게 액세스 할 수 있도록 도와주는 분산화된 API 입니다.
- 대시페이(DashPay) 분산형 지갑: 이들 지갑은 라이트 클라이언트로서 DAPI를 통해 네트워크에 연결되며 다양한 플랫폼상에서 작동합니다.
- 두 번째 계층: 마스터노드 네트워크를 일컫는 말로써, 프로젝트를 위한 인프라를 제공하고 보상을 받습니다.
- 예산: 두 번째 계층은 예산 시스템을 통해 네트워크상의 특정 프로젝트에 자금을 할당하기 위한 투표권을 부여받습니다.
- 거버넌스: 두 번째 계층은 대시를 운영하고, 대시가 나아갈 방향을 위한 투표권을 부여받습니다.
- 쿼럼 체인(Quorum Chain): 이 기능은 영구적으로 안정적인 마스터노드 리스트를 소개하며, 이로써 과거와 현재의 쿼럼을 계산하는 데 사용될 수 있습니다.
- 소셜 지갑: 친구 목록, 사용자 그룹 지정 및 다중 서명 계정 공유를 지원하는 소셜 지갑을 소개합니다.
에볼루션 미리 보기¶
다음의 비디오를 통해 대시의 창립자인 에반 듀필드와 UI/UX 개발의 책임자인 척 윌리엄스가 대시 에볼루션 플랫폼의 개발 진행 상황과 기능에 관해 설명합니다.
에볼루션 데모 #1 - 첫 번째 대시 DAP, 2018년 3월 16일
에볼루션 데모 #2 - 모바일 에볼루션, 2018년 4월 25일
에볼루션 데모 #3 - 대시페이 사용자 경험, 2018년 5월 15일
에볼루션에 관하여 척 윌리엄스, 대시 컨퍼런스 런던, 2017년 9월 14일
에볼루션 로드맵에 관하여 에반 듀필드, 대시 포스 뉴스, 2017년 6월 28일
구매 방법¶
대시는 다양한 방법으로 매수 및 매도할 수 있으며, 각 방법은 다양한 장점과 단점을 가지고 있습니다. 사용 가능한 옵션은 다음과 같습니다.
- 거래소는 암호화폐를 거래하기 위한 가장 인기 있는 방법 중 하나입니다. 다양한 거래소가 존재하며, 각각의 거래소는 조금씩 다른 특징을 가지고 있습니다. 일부는 다양한 시장을 제공하고, 일부는 경쟁 관계에 있으며, 일부는 더 저렴한 수수료를 제공하고, 또 어떤 일부는 조금 더 강화된 규제적 요구 조건을 가지고 있기도 합니다. 대부분의 거래소는 중앙화되어 있으며, 이는 곧 이들 거래소가 단일의 회사에 의해 운영되고 있다는 것을 의미합니다. 따라서 이들 거래소의 관할권과 이와 관련된 법규에 따라 소비자에 관한 정보를 수집할 수 있습니다. 분산화된 거래소도 다수 존재합니다. 그러나 이들 분산화된 거래소는 신뢰된 결사체를 통해 거래하는 것이 아니라 피어 투 피어 거래 방식으로 진행되므로 더욱 높은 수준의 에스크로 조건이 요구됩니다. 거래소는 두 가지 범위로 나눌 수 있습니다. 국가 통화(법정 통화)를 받는 거래소와 암호화폐만을 다루는 거래소가 바로 그것입니다. 더욱 안전을 기하기 위하여, 거래소를 지갑으로 사용해서는 안됩니다. 거래소는 거래를 위한 것이며, 저장을 위한 공간이 아니기 때문입니다.
- 즉석 거래소는 일반 거래소와 비슷한 기능을 수행하나, 로그인을 할 필요가 없습니다. 이들은 거래 금액에 약간의 제한을 두거나 덜 유리한 환율을 제공하지만 효과적으로 하나의 통화를 다른 통화로 전환합니다.
- 장외 거래 거래소는 최근에 나타난 형태로, 하나의 회사가 개인들에게 특정한 개격으로 대시를 직접 판매하거나 개인간 합의된 가격에 피어 투 피어 거래를 용이하게 하는 형태의 거래소를 말합니다. 거래소와 비교할 때 거래량이 제한적일 수 있으나, 이들 서비스는 대개 훨씬 사용하기 쉽습니다. 더욱 향상된 피어 투 피어 사이트에서는 처음 거래하는 두 당사자간의 판매 행위가 이루어지는 동안 부정 행위가 일어나는 것을 방지하기 위하여 에스크로 서비스를 제공하고 수수료를 받는 경우도 있습니다.
- ATM은 카드와 현금을 받고 암호화폐를 거래하는 형태로, 널리 이용되고 있습니다. 매핑 서비스는 이들 기기의 위치를 보여주며, 당신 스스로 ATM을 설정하고 판매의 일정 금액을 수익으로 얻을 수도 있습니다.
주의: 이 리스트는 정보 제공의 목적으로만 제공됩니다. 대시 코어는 이곳에 나열된 서비스에 관하여 평가 혹은 지지하지 않으며, 이 정보의 정확성 역시 보장하지 않습니다. 제3자 서비스를 이용하시는 경우에는 특별한 주의를 기울일 것을 권장합니다.
거래소¶
암호화폐 거래소는 법정 통화라고도 알려진 국가 통화를 암호화폐로 변환합니다. 많은 거래소들은 법정 통화를 받지 않으며, 다양한 암호화폐간 거래만을 허용합니다. 거래는 시장을 통해 처리되며, 거래소의 티커 코드Ticker Code에 의해 식별된 거래쌍을 통해 이루어집니다. 대시는 수많은 거래소를 통해 거래되고 있으며, 다양한 법정 화폐 및 암호화폐 쌍을 가지고 있습니다. 이는 예컨대 유로화를 대시로, 대시를 비트코인으로 교환할 수 있다는 것을 의미합니다. 거래소의 거래량은 당신이 진행하고자하는 매도 및 매수 요청이 얼마나 빨리 처리될 수 있는지를 나타내는 좋은 지표가 됩니다. 여기에서는 대시 거래에 있어 가장 인기 있는 거래소 중 일부를 소개합니다.
Marketplace comparison websites¶
- Cryptoradar
https://cryptoradar.co/buy-dash
Cryptoradar is a real-time cryptocurrency marketplace price comparison and review platform. The website compares dozens of Dash markets based on prices, fees, payment methods, reviews and more.
- 코인마켓캡(CoinMarketCap)
https://coinmarketcap.com/currencies/dash/#markets
코인마켓캡은 시가 총액에 따라 모든 암호화폐를 나열하고 있습니다. 이들 통화 중 하나를 클릭하면 그 가격 차트를 확인할 수 있으며, 마켓을 클릭하면 이용 가능한 시장과 이들이 제공하는 거래쌍을 확인할 수 있습니다.
거래소 목록¶
이곳의 거래소 리스트는 정보 제공의 목적으로만 제공되며, 어떤 다른 특정 플랫폼과의 제휴나 지지도 나타내지 않습니다.
- Poloniex
Poloniex is a US-based pure-crypto exchange offering high volume DASH pairs for BTC, XMR and USDT. Leveraged margin trading and lending is also available for DASH.
- Bittrex
Bittrex is a US exchange working with cryptocurrencies only, although USD wire transfers have been intermittently supported in the past. DASH trading pairs are available for BTC, ETH and USDT.
- Bitfinex
Bitfinex is a cryptocurrency exchange based in Hong Kong offering high volume BTC and USD trading pairs for DASH, as well as leveraged trading.
- Kraken
Kraken is a high-volume US-based exchange offering fiat currency deposits in EUR, USD, JPY and GBP. DASH can be traded against EUR, USD and BTC.
- Binance
Binance is a pure-crypto with a focus on ICOs and the Chinese market. DASH is available for funding and can be traded against BTC.
- HitBTC
HitBTC offers facilities to major investors to credit USD, EUR and GBP, as well as BTC, ETH and USDT trading pairs against DASH for normal users.
- Bithumb
Bithumb is the largest cryptocurrency exchange in South Korea. It accepts fiat deposits in South Korean Won only, and offers high volumes of DASH trading.
- Huobi
Huobi is a major Chinese exchange offering high volume DASH trading against BTC. A native app is available for both iOS and Android.
- CEX.IO
CEX.IO is a UK-based exchange with over one million users and offers DASH exchange pairs for fiat currencies including GBP, EUR and USD.
- DigiFinex
Based in Singapore, DigiFinex offers Dash trading against USDT, BTC and ETH. DigiFinex supports InstantSend, with clear benefits for arbitrage traders and consumers.
- YoBit
YoBit is an exchange focusing on Ethereum tokens, but also supports BTC, USD and RUB trading pairs for DASH.
- Chaoex
Based in Hong Kong and available in English and Traditional Chinese, Chaoex is a pure crypto exchange offering trading with a focus on new assets and supports mobile apps for both Android and iOS.
- Bit-Z
Bit-Z is a cryptocurrency exchange with a focus on offering OTC funding options to Chinese traders. DASH is available for trade against BTC.
- Koineks
Koineks serves the Turkish market and offers trading pairs for DASH against the Turkish Lira and Bitcoin.
- Sistemkoin
Sistemkoin serves the Turkish market and offers trading pairs for DASH against the Turkish Lira and Bitcoin.
- Ovis
Ovis serves the Turkish market and offers trading pairs for DASH against the Turkish Lira and Bitcoin.
- Exmo
Exmo is a UK-registered exchange offering fiat deposits in USD, EUR, USD and UAH (Ukrainian Hryvnia). DASH trading pairs exist for BTC, USD and RUB.
- BitBay
BitBay is based in Poland and accepts fiat deposits in EUR, USD and PLN. DASH can be traded against all three fiat currencies and BTC.
- Livecoin
Livecoin offers fiat deposits in EUR, USD and RUB, and DASH trading pairs for BTC, USD and some other low volume cryptocurrencies.
- xBTCe
xBTCe is an exchange based in St. Kitts and Nevis with a focus on providing fiat currency trading pairs. Various deposit methods are available for currencies including CNH (Chinese Offshore Yuan), EUR, GBP, JPY, IDR and RUB. DASH trading pairs include BTC, USD and CNH.
- IDAX
Based in Mongolia, IDAX is a high volume exchange with a focus on the Chinese and Korean markets. Dash transactions support InstantSend, and trading is available for against BTC.
- Upbit
UPbit is a Korean exchange allowing deposits in KRW and offering DASH trading pairs for KRW, ETH, BTC and USDT.
- CoinEx
CoinEx is a Hong Kong based exchange with a focus on Bitcoin Cash trading. DASH is available for trading against both BCH and BTC.
- Trade by Trade
Trade By Trade is registered in Vanuatu and provides a trading platform for over 60 cryptocurrencies with a range of tools to manage your trades.
- Bitinka
Bitinka is the premiere exchange in Latin America, and offers BTC, LTC, ETH, XRP and DASH in exchange for over 10 national currencies from America and Europe.
- eToro
With legal entities in the UK, Israel and Cyprus, eToro offers a social trading platform where you can copy top performing accounts. DASH and a number of other cryptocurrencies, forex and stocks are available.
- Liqui
Liqui is headquartered in Ukraine and offers a modern interfaced for leveraged trading of many cryptocurrencies, including a DASH/BTC pair.
- Bitbns
Bitbns offers DASH trading against the Indian Rupee (INR) for Indian citizens with bank deposits supported from many major Indian banks.
- Coinome
Coinome is an Indian exchange offering DASH trading against the Indian Rupee (INR).
- WazirX
WazirX is an Indian exchange offering DASH trading against BTC and USDT, and funding in the Indian Rupee (INR).
- Coinsquare
Coinsquare is a Canadian exchange offering DASH trading against BTC and CAD.
- Lykke
Incorporated in Switzerland, Lykke is an open source exchange, online/mobile wallet service, idea accelerator and ICO platform. DASH is available for both trading and investment.
- Liquid
Liquid serves the Asian market with funding support for HKD, AUD, CNY, INR, JPY, PHP, IDR, UDS, SGD and EUR, and trading against ETH, BTC, BCH and DASH.
- BitcoinVN
BitcoinVN is a Vietnamese exchange offering BTC, BCH, LTC and DASH for trading against Vietnamese đồng.
- Ginero
Ginero is a peer-to-peer exchange operating in Vietnam and offeringexchange offering BTC, BCH, LTC, ETH, GIN and DASH for trading against Vietnamese đồng.
- ZB.com
With a focus on the Chinese market, ZB.com offers trading from specialized applications for macOS, Windows, Android and iOS. Crypto deposits and DASH trading against QC, USDT and BTC.
- Coinfield
Coinfield is a Canadian exchange offering funding in CAD and quick market purchases or advanced trading against DASH.
- Bitshares
BitShares is a decentralized exchange (DEX) offering DASH trading pairs for BTC and BTS, as well as the bit assets bitUSD, bitCNY and bitBTC.
- Cryptopia
Cryptopia is a New Zealand cryptocurrency exchange with a reputation for supporting a large number of low-volume altcoins. It offers DASH trading pairs for BTC, LTC, DOGE and USDT.
- ACX
ACX is an Australian exchange accepting fiat deposits from Australian bank accounts. DASH is available to trade against BTC.
- OKEX
OKEX, previously known as OKCoin, is an exchange focused on the Chinese market offering DASH trading pairs against BTC. Funding with CNY and futures trading is also available.
- Bitexbook
Bitexbook promises the fastest possible deposit and withdrawal times and responsive customer support. Deposits are available in USD and RUB, and credit cards are supported.
- MoneyPolo
MoneyPolo offers currency exchange and transfer, prepaid cards and the ability to hold accounts in a range of currencies. Deposits and withdrawals are available in DASH, BTC, ETH, LTC, BCH and BTG, and it is possible to transfer value to a prepaid card or any worldwide bank account.
- Coinapult
Coinapult is an asset exchange headquartered in Panama City and providing exchange services between BTC, DASH, USD, GBP and EUR, as well as gold and silver.
- Panda.exchange
Based in Latin America, Panda.exchange specializes in making digital assets such as Dash available in Latin America and, through a branch in Portugal, the EU market.
- Whaleclub
Based in Hong Kong, Whaleclub offers an advanced platform that allows highly leveraged trading of cryptocurrency including DASH against other cryptocurrencies, forex, metals, stocks and bonds.
- Golix
Based in Zimbabwe, Golix is a digital currency exchange that helps people in Sub-Saharan Africa buy and sell DASH and other cryptocurrencies.
- Bisq
Bisq is a decentralized exchange running on the Tor network and offers complete privacy, but trades are manual, require escrow and must be settled between users.
- Coincheck
Coincheck is a Japanese exchange allowing deposits in JPY and USD for trading against DASH and other cryptocurrencies.
- Coindeal
Coindeal allows deposits in EUR and offers a range of trading pairs, including DASH. The exchange is focused on obtaining a FINMA license in Switzerland to be able to accept a broader range of fiat deposits.
- BuyUcoin
BuyUcoin is a large Indian exchange offering DASH and many other cryptocurrencies in exchange for Indian Rupees (INR).
- BitMEX
BitMEX is a pure-crypto derivates exchange offering trading with up to 100x leverage. DASH is available to trade against BTC.
- MBAex
MBAex is a pure crypto exchange with a focus on the Chinese market. DASH can be traded against BTC, USDT and MDP.
- KuCoin
KuCoin is a pure crypto exchange with a focus on the Chinese market. DASH can be traded against BTC, USDT, ETH and KCS.
- BTCC
Based in the UK Hong Kong and available in English and Chinese, BTCC offers DASH trading against BTC and USD.
- Bibox
With a focus on the Asian market, Bibox offers DASH trading against BTC, ETH and USDT.
- DigiFinex
DigiFinex is a Chinese exchange allowing trading of DASH against USDT and BTC.
- OOOBTC
OOOBTC offers DASH trading against BTC and ETH, with a user interface available in Russian, Arabic and many East Asian languages.
- ABCC
ABCC offers web and app-based trading of Dash against BTC, ETH and USDT.
- Indodax
Indodax allows funding in IDR and offers a DASH/BTC trading pair.
- ALFAcashier
ALFAcashier, incorporated in Belize, provides electronic exchange and fiat services. DASH trading pairs are available for BTC, XRP, XMR, XEM, ETH, LTC, BCH, USD, EUR, CNY, CAD and RUB.
- CoinSuper
Registered in Hong Kong and with a focus on the Chinese market, CoinSuper allows fiat deposits in USD and offers DASH trading against BTC, ETH and USD.
- Exrates
Exrates allows crypto and USD deposits, and offers DASH trading against BTC and USD.
- Bleutrade
Registered in Brazil, Bleutrade offers DOGE and BTC trading pairs for DASH.
- LBank
Available in English and Chinese, LBank has a focus on token trading. DASH is available to trade against BTC.
- Coinroom
Registered in Poland, Coinroom has a strong focus on trading against fiat currencies. Deposits are available in CHF, CZK, DKK, EUR, GBP, NOK, PLN and USD. DASH can be traded against USD, BTC, EUR, PLN and GBP.
- CoinSpot
CoinSpot is an Australian exchange offering DASH, BTC, LTC and ETH in exchange for AUD.
- Holy Transaction
Holy Transaction offers DASH trading pairs for BTC, USD and EUR, as well as over ten other altcoins.
- RealExchange
RealExchange is a Brazil-based exchange offering support for a handful of currencies including Dash, Bitcoin, Litecoin, and SmartCash. The exchange also supports fiat trading pairs with the Brazilian real.
- NegocieCoins
https://www.negociecoins.com.br
Based in Brazil, NegocieCoins offers deposits in Brazilian real and Dash trading pairs. A premium service with higher withdrawal limits is available.
- XDEX
Based in Brazil, XDEX offers both simple purchase and sale of cryptocurrencies and an advanced trading platform with various order types. Dash and several other cryptocurrencies are available for trading against the Brazilian real.
- Bitcointoyou
Based in Brazil, Bitcointoyou has been in operation since 2010 and offers trading of a number of cryptocurrencies, including Dash, against the Brazilian real.
- Miami Crypto Exchange
Miami Crypto Exchange (MCEX), operated by Dash partner Mercury Cash, is a legal and fully compliant crypto gateway between the U.S. and the world, with a specific focus on Latin America and the Caribbean. DASH can be traded against USD and BTC.
- SatoWallet
SatoWallet is a multi-coin crypto wallet with built-in exchange functionality. Dash is available for trade against Nigerian Naira (NGN), USD, BTC and ETH.
- OmniTrade
Based in Brazil, OmniTrade accepts deposits in Brazilian real through a partnership with Neon Bank, which can then be traded against Dash.
- Braziliex
Based in Brazil, Brazilies accepts deposits in Brazilian real, and offers trading of real, Bitcoin and USDT against Dash.
- WEX
WEX, previously known as BTC-e until it was shut down by authorities, has resumed business under a new name. DASH trading pairs exist for BTC, USD, RUB, EUR, LTC and ETH.
- Ovis
Ovis serves the Turkish market and offers trading pairs for DASH against the Turkish Lira and Bitcoin.
- Lescovex
Registered in Switzerland, Lescovex offers deposits and withdrawals in a wide range of fiat currencies (EUR, USD, CAD, GBP, CHF, SEK, RON) for trading against DASH and other cryptocurrencies. The platform is designed to assist in the creation of tokens and cryptographic contracts.
- AvaTrade
Headquartered in Ireland, with offices around the world and boasting over 200,000 registered customers globally, AvaTrade is committed to empowering people to invest and trade, with confidence, in an innovative and reliable environment. AvaTrade offers Dash trading as well as traditional Forex, CFD and options trading.
- SouthXchange
Based in Argentina, SouthXchange offers DASH for USD and BTC.
- Coinrail
Coinrail is a Korean exchange offering DASH trading against KRW.
- Cashierest
Cashierest is a Korean exchange offering DASH trading against KRW, BTC and ETH.
- Tidex
Tidex is an exchange focusing on tokens on the WAVES and Ethereum blockchains, but also offers trading against fiat currencies. DASH can be traded against ETH, BTC, WAVES and Waves pegged currencies.
- LiteBit
LiteBit is a service based in The Netherlands selling cryptocurrency including Dash for EUR.
- Laissez Faire
Laissez Faire offers incentivized trading which includes DASH.
- Bitsane
Bitsane (and its altcoin sister site Anybits) offer trading pairs for Dash and allows deposits in EUR and USD.
Instant exchanges¶
- Changelly
Changelly is a broker service offering a range of cryptocurrency, including Dash, for instant exchange against other cryptocurrencies without needing to create an account. Be sure to check the fees and rates before purchasing.
- ShapeShift
ShapeShift allows users to directly exchange one crypto asset for another without creating any account, albeit with a higher markup than most exchanges. ShapeShift supports Dash and over 70 other cryptocurrencies.
- SimpleSwap
SimpleSwap is a simple and easy-to-use platform for cryptocurrency exchanges that works without registration and limits. It is possible to exchange Dash with over 60 other cryptocurrencies.
- AirTM
AirTM allows rapid exchanges between a range of cryptocurrencies, traditional banks and proprietary regional payment schemes such as Alipay, Western Union or Skrill.
- Godex
Godex allows users to directly exchange one crypto asset for another without creating any account, albeit with a higher markup than most exchanges. Godex supports Dash and over 120 other cryptocurrencies.
- Flyp.me
Flyp.me is developed by the team at HolyTransaction, the first multicurrency web wallet. It offers instant exchange services between 18 different cryptocurrencies without creating an account.
- CoinSwitch
CoinSwitch is a crypto to crypto exchange aggregate with more than 300 different coins and tokens listed. Also offers purchases through credit/debit cards.
- MorphToken
MorphToken is an instant exchange allowing users to instantly convert between Dash, Bitcoin, Bitcoin Cash, Ethereum, Litecoin and Monero. It is even possible to convert into more than one cryptocurrency in a single exchange.
- changeNOW
changeNOW is a non-custodian exchange service based in the Netherlands, with low commissions and quick service. Offers crypto to crypto exchanges, as well as purchases through credit/debit cards.
- Guarda
Guarda offers an entire blockchain ecosystem consisting of desktop, web and mobile wallets, OTC crypto sales and instant crypto exchange. Dash is supported throughout the ecosystem, making it an easy and convenient way for new users to get started.
- BlockTrades
BlockTrades is a decentralized exchange designed to facilitate free movement between the Steemit, BitShares, Bitcoin and Dash blockchains. The system is designed to find the best possible instant conversion rate between any two given cryptocurrencies.
Over the Counter¶
- Uphold
Uphold accounts may be funded with over 30 national currencies by bank account or credit card to purchase and spend multiple cryptocurrencies including Dash.
- WeSellCrypto
WeSellCrypto is a broker service offering a range of cryptocurrency, including Dash, paid using Paypal. Be sure to check the fees and rates before purchasing.
- Kraken
Kraken offers private, personalized OTC service with deep liquidity to institutions and high net-worth individuals needing to fill orders in excess of $100,000. Simply send an email to otc@kraken.com to get started.
- Koi Trading
Based in San Francisco with satellite offices in Hong Kong and Europe, Koi Trading offers a reliable, efficient, and compliant OTC pathway for institutions and high net-worth individuals to engage with cryptocurrency. Brokerages, exchanges, miners and funds worldwide trust Koi Trading for its professional, high-touch services and robust cryptocurrency liquidity.
- Bitpanda
https://www.bitpanda.com https://www.bitpanda.com/togo
Bitpanda is a broker service offering Bitcoin, Ethereum, Litecoin and Dash both online and at over 400 Post branches and about 1300 Post partners throughout Austria. Pay with cash, credit card or bank transfer.
- Bitnovo
Bitnovo is a broker service offering Bitcoin and Dash both on their website and at tens of thousands of physical locations throughout Europe. They also offer reloadable cards, vouchers and cryptocurrency wallets.
- Bitit
Bitit is a broker service offering Bitcoin, Dash and several other cryptocurrencies for sale online. Payment in a range of currencies is support using both direct banking, credit cards and vouchers.
- buycrypto
Buycrypto is a peer-to-peer cryptocurrency-fiat exchange geared towards giving Greeks easier access to economically sound money. Dash is available for purchase and sale against the Euro.
- Coinfinity
Coinfinity offers Dash and Bitcoin broker services in Austria and Germany, as well as through their coupon-based Bitcoinbon service.
- Coinsave
Coinsave is a Canadian OTC retailer offering DASH and other cryptocurrencies for CAD.
- Bitcoin Meester
https://www.bitcoinmeester.nl https://www.bitladon.com
Bitcoin Meester, and it's international sister site Bitladon, allows you to buy and sell Dash (and other cryptocurrencies) OTC in exchange for Euro.
- Coinvertit
Based in Romania, Coinvertit is an easy way to buy and sell Dash in exchange for BTC, LTC, BCH and Romanian Leu (RON).
- eBitpoint
eBitpoint is a secure online peer to peer platform with escrow service for buying, selling, storing Dash and other digital currencies at competitive exchange rates in Ghana.
- eBitcoinics
eBitcoinics is a cryptocurrency exchange and education platform for the African market. Dash is available for exchange against Nigerian Naira (NGN) and Ghanaian Cedi (GHS).
- Kurecoinhub
Kurecoinhub offers DASH and other cryptocurrencies for sale OTC for the Nigerian Naira. Dividend bearing bank deposits, loans against Dash collateral and merchant services are also available from this innovative platform.
- Gredo E-currency
https://www.gredoe-currency.com
Gredo E-currency offers OTC sale of Dash and other cryptocurrencies for Nigerian Naira (NGN).
- TruexGOLD
TruexGOLD offers OTC sale of Dash in Nigeria for Nigeria Naira (NGN).
- Cryptomate
Cryptomate sells a range of cryptocurrencies, including Dash, for GBP. Cryptomate's goal is to make buying and selling cryptocurrency as simple as possible for people who want a pain-free experience and the fastest transactions - coins can be in your wallet as soon as 5 minutes after ordering.
- BitPrime
BitPrime operates a secure and compliant platform for easy retail trading in New Zealand. Dash is available OTC for both purchase and sale together with many other cryptocurrencies.
- Mercury Cash
Mercury Cash is an online/mobile wallet and licensed money transmitter with integration for merchant services. Balances can be held in both Ethereum and Dash, and deposited or withdrawn in local currencies through a number of methods, including credit cards.
- cryptomonster
https://www.cryptomonster.co.uk
cryptomonster have created an easy to use platform where you can buy DASH and other digital assets within minutes. All you need is a UK bank account and a wallet address. cryptomonster pride themselves on a next-level service and regard themseleves as the leading digital assets platform in the UK.
- Changelly
Changelly is a popular instantaneous crypto to crypto exchange platform with more than 100 different coins and tokens listed. Also offers purchases via credit/debit cards.
- Cryptobuyer
Cryptobuyer is a direct purchasing service with a focus on the Latin American market and Venezuela in particular. It can be linked with a bank account to purchase Dash, Litecoin and Bitcoin directly. The company also operates a network of ATMs and merchant integrations.
- BasiChange
BasiChange offers exchange, trading and OTC crypto sales with a focus on Venezuela and Colombia.
- CryptoWay
On CryptoWay, you can buy and sell Dash, Bitcoin, Ethereum, Litecoin and Doge peer-to-peer (P2P) with Venezuelan bolivars on a secure, fast and simple platform. You can also link your bank account for efficient processing of deposits and withdrawals.
- Stratum CoinBR
CoinBR is a Brazil-based cryptocurrency company offering a variety of services including an exchange, mining, bill payment, point-of-sale, and more. Dash is available for purchase at over 13,000 locations around Brazil.
- Wall of Coins
Wall of Coins allows user to post offers to buy or sell Dash and Bitcoin within their region or country. The service, which is available in over 20 countries, then holds the coins in escrow while the buyer completes payment.
- Liberalcoins
Liberalcoins allows users to arrange trades to buy or sell Dash, Monero, Bitcoin and Litecoin directly with one another.
- QCashPay
QCashPay is a Hong Kong company specialising in direct sale of cryptocurrency, including Dash, for USD and CNY using various bank and third party payment schemes.
- MegaChange
MegaChange offers direct sale and exchange of various digital forms of currency in a simple market system. It supports Dash and multiple methods of adding fiat currency, including USD, RMB and RUB.
- Dashous
Dashous allows user to post offers to buy or sell Dash and Bitcoin within their region or country. The users then arrange the deal between themselves.
- Magnetic Exchange
Magnetic Exchange offers Bitcoin, Ethereum, Litecoin and Dash in exchange for USD or EUR through various payment services.
- AnycoinDirect
AnycoinDirect.eu is a broker service offering 14 cryptocurrencies, including Dash, for sale online. Pay by bank transfer or various national instant payment schemes.
- Dash Nearby
Dash Nearby allows users to arrange direct trades of cryptocurrency or local currency between one another.
- Coindirect
Coindirect offers OTC and P2P services to buy and sell many cryptocurrencies, including Dash. Verified users can create offers in their local currency to buy and sell with other users. Online wallets and exchange services are available for most currencies as well.
- Graviex
Graviex is a part of the Gravio ecosystem, a blockchain-based communication platform. It offers extremely low rates and fees for trading. DASH can be traded against BTC, ETH, LTC and DOGE.
- Bitqist
Bitqist is a service based in The Netherlands offering over 140 for purchase and sale. While not strictly an exchange in the sense of offering order books, it is possible to buy and sell each currency at near the market price.
- SlithEx
Based in Malaysia and funded by the Dash Treasury, SlithEx (and its payment processor, RocketPay) offer exchange, wallet and sale/trading of Dash against the Malaysian ringgit.
ATMs¶
ATMs are a popular method of buying cryptocurrency at businesses to encourage adoption and spending in these currencies. A number of ATMs support Dash, and the mapping services listed on this page can help you find one near you. It is also possible to operate your own ATM to sell Dash on-site at your business - simply contact the companies listed on this page.
- General Bytes
General Bytes offers a range of two-way cash ATM and Point of Sale solutions integrating Dash.
- Coin ATM Radar
Various coin ATMs are available around world. Coin ATM Radar helps you find one close to you.
- Lamassu
Lamassu offers modular one-way and two-way cash ATMs integrating Dash.
- CoinFlip
CoinFlip operates a network of ATMs across the USA and offers hosted ATMs for businesses.
- Trovemat
Focusing on the European market, Trovemat provides a risk-free solution to sell cryptocurrency from a physical device.
- TigoCTM
TigoCTM offers simple ATM solutions integrated with a management blockchain.
안전성¶
암호화폐를 처음 사용하는 경우, 기존 은행 시스템과 비교 이해시 가장 중요한 변화 포인트는 트랜잭션을 촉진하기 위해 중앙 권한이 없는 두 당사자간에 직접적 거래 가 발생한다는 것입니다. 이는 반대로 안전성에 스스로의 책임이 있다는 것 을 의미합니다. - 자금을 도난 당하거나 분실했을 경우 당신의 거래를 대신 취소해 줄 은행이나 신용 카드 회사는 없습니다. 지갑 파일을 잃어버리거나, PIN을 복구하려해도 영구적으로 복구, 취소가 불가능하게 되어 귀하의 자금에 액세스 할 수 없게 됩니다.
Dash는 개발 초기부터 빠르고, 안전하며, 대체 가능하고, 개인적인 목적으로 설계되었습니다. 이러한 의미에서 암호화폐는 현금이나 금과 유사하지만, 올바른 목적지에 자금을 보내는지 확신하는 경우 쉽고 동등하게 국내외에서 사용할 수 있습니다. 이러한 이유로 Dash 설명서에서는 Dash의 생태계를 주도하는 개념과 기능에 대한 안전과 이해에 중점을 둡니다.
안전 관련 가이드라인:
- 평판이 좋아보이는 인물이나 그럴싸한 온라인 서비스에 현혹되어서는 안됩니다. P2P거래시에는 반드시 에스크로 서비스를 사용하십시오.
- 가능하면 하드웨어 지갑 에 Dash를 보관하십시오. 혹은 공식 Dash Core 지갑 이나 공식 Dash 일렉트럼 지갑 에 코인을 보관하십시오.
- 교환을 지갑으로 사용하지 마십시오. 교환은 저축용이 아닌 거래용을 위한 것입니다.
- 모바일 지갑은 일상적인 구매시 사용하나 많은 양의 자금을 보관하지 않아야 합니다. 필요에 따라 자금을 이전하도록 합니다.
이미 알려진 사기성 사이트, 가짜 지갑 및 폰지 사기 또는 다단계 사기형태 목록은 아래에서 확인할 수 있습니다. 절대 속지 마세요!
사기성 사이트¶
인터넷에는 Dash나 기타 암호화폐를 보내거나 "지갑열기" 같은 유입방법을 통해 사용자를 속이려고 시도하는 수없이 많은 "가짜" Dash/다크코인 페이지가 있습니다. 또다른 형태의 사기성 사이트로는 가짜 마이닝 하드웨어 판매, 비슷한 이름의 가짜 대쉬 또는 알트 코인 판매, 폰지 사기 (아래 참조) 등이 있습니다. 늘 주의하고 아래에 나열된 사이트는 절대로 신뢰하지 마십시오!
Dash 관련 사기성 사이트:
- dash-wallet 닷컴 은 사기성 사이트입니다!
- electrumdash 닷org 는 Dash의 가짜 사이트 입니다!
- dashcoinmining 닷컴 은 Dash와 전혀 관련이 없습니다!
- dashcrypto 닷info 는 Dash와 무관합니다!
- onclooud 닷컴 은 Dash와 관련이 없습니다!
- as-shop 닷su 에서 판매하는 바이칼 채굴기는 가짜입니다!
- minershop 닷biz 의 바이칼 채굴기는 가짜입니다!
- dashcoinclub 닷컴 은 Dash와 무관한 폰지 사기 사이트입니다!
- dash-coin 닷넷 은 가짜 웹지갑이니, 거래는 절대 하지 마세요!
- coinvert 닷io 는 가짜 교환 사이트 입니다!
Dash를 가장하는 가짜 트위터 계정에 주의하십시오! Dash의 공식 트위터는 다음과 같습니다.: https://twitter.com/Dashpay
다음에 해당하는 모든 사기 형태를 신고하세요.:
- Google에 피싱 사기나 폰지 사기 등 신고하기: https://www.google.com/safebrowsing/report_phish
- 도메인 등록 회사를 찾아 불만 사항을 접수하세요.: https://www.whois.com/whois
- Netcraft에 피싱 사기 신고하기: https://www.netcraft.com
- BadBitcoin에 사기 신고하기: http://www.badbitcoin.org
- 특정 사이트가 의심스럽다면 Crypto Scam Checker를 사용하여 이미 신고되어 있는지 확인하거나, 또는 직접 신고할 수 있습니다.: https://fried.com/crypto-scam-checker
사기성 페이지를 발견하셨다면 언제든지 "swat team"스레드의 포럼에 신고해주세요: https://dashtalk.org/threads/www-dash-wallet-com-is-a-scam-website.8267
폰지사기¶
폰지사기, 다단계 사기 or 다단계 판매 는 운영자가 조작된 내용을 제공하고 신규 투자자가 지불한 수익을 통해 구 투자자를 위한 수익을 창출하는 사기성 투자 운영 방식입니다. 점점 더 많은 사용자가 계속해서 작업 계획에 참여해야 작업은 계속 진행되며, 이러한 과정으로 수많은 사람들이 최초 운영자에게 돈을 잃게 되는 구조입니다.
폰지사기 암호화폐를 발견하면, 해당 화폐의 웹사이트를 위에서 설명한 순서대로 즉시 신고하세요!
현재까지 알려진 폰지사기 암호화폐 리스트 (이외에도 더 많습니다- 주의하세요!) :
- 원코인
- http://themerkle.com/dr-ruja-flees-sinking-ship-as-regulators-crack-down-on-onecoin/
- http://siliconangle.com/blog/2016/09/29/dodgy-cryptocurrency-onecoin-under-police-investigation-accused-of-being-a-ponzi-scheme/
- https://cointelegraph.com/news/one-coin-much-scam-onecoin-exposed-as-global-mlm-ponzi-scheme
- http://www.makemoneyexpert.com/online/network-marketing/reviews/onecoin/
- https://pageone.ng/2016/11/05/beware-onecoin-ponzi-scheme/
- 스위스 코인
- 빌리언 코인
- 서스테인코인
- E-디나르
- 다스코인
- 비트커넥트
- 해쉬오션
- 크립토더블
Links and Information¶
Links¶
Official sites¶
- Website: https://www.dash.org
- User documentation: https://docs.dash.org
- Protocol documentation: https://dash-docs.github.io
- Foundation: https://www.dashfoundation.io
- GitHub: https://github.com/dashpay
- GitHub (Evolution): https://github.com/dashevo
- Roadmap: https://github.com/dashpay/dash-roadmap
- DIPs: https://github.com/dashpay/dips
Community sites¶
- https://www.dashnexus.org
- https://www.dashwatch.org
- https://www.dashboost.org
- https://dashroots.fund
- https://www.dashcentral.org
- https://www.dashninja.pl
- https://www.dashforcenews.com
- http://www.dashnation.com
- https://dashvotetracker.com
- https://www.dashspain.org
- http://www.dashhaiti.com
- http://thedashbrain.com
Forums¶
- Dash Forum: https://www.dash.org/forum
- BitcoinTalk thread: https://bitcointalk.org/index.php?topic=421615.0
- Cryptocurrencytalk.com: https://cryptocurrencytalk.com/forum/693-dash
- 巴比特 (8BTC) Forum: http://8btc.com/forum-115-1.html
- 百度贴吧 达世币吧 (Baidu Tieba): https://tieba.baidu.com/f?kw=达世币
- 彩云比特 达世币 (CYBTC Dash): http://www.cybtc.com/forum-123-1.html
Chat¶
- Dash Nation Discord: https://discordapp.com/invite/9z8zX5j
- Dash Talk Discord: https://discordapp.com/invite/PXbUxJB
- Dash English Telegram: https://t.me/dash_chat
- Dash Brasil Telegram: https://telegram.me/dashbrasil
- Dash Russia Telegram: https://telegram.me/Dash_Ru
- Dash en Español Telegram: http://unete.dashespanol.com
- Dash Embassy D-A-CH auf Deutsch Telegram: https://t.me/dashembassydach
- Dash Telegram News Bot: https://telegram.me/dashnews
- QQ 达世币官方群 DASH.China: 419967021
- Freenode IRC: #dashpay
Facebook¶
- English (Official): https://www.facebook.com/DashPay
- Dash News En Español: https://www.facebook.com/DashNewsEspanol
- Dash Embassy Thailand: https://www.facebook.com/DashEmbassyThailand
- Brazil: https://www.facebook.com/DashBrazil
- Denmark: https://www.facebook.com/DashDenmark
- Germany: https://www.facebook.com/dashgermany
- Greece: https://www.facebook.com/DashGreece
- Poland: https://www.facebook.com/Dash.Polska
- Russia: https://www.facebook.com/Dash.Russia
- Thailand: https://www.facebook.com/groups/1127359790623640
- Venezuela: https://www.facebook.com/groups/DarkcoinVenezuela
- Vietnam: https://www.facebook.com/dashvietnam
Twitter¶
- Dash Official Account: https://twitter.com/dashpay
- Ryan Taylor, CEO of Dash Core Group: https://twitter.com/RTaylor05
- Dash Force News: https://twitter.com/DashForceNews
- Joël Valenzuela, Chief Editor, Dash Force News: https://twitter.com/TheDesertLynx
- Mark Mason, Director of Media & PR, Dash Force News: https://twitter.com/StayDashy
- Amanda B. Johnson, Dash Superfan and DAO-funded contractor: https://twitter.com/AmandaB_Johnson
- Tao of Satoshi, Dash Nation Founder and DAO-funded contractor: https://twitter.com/Dash_Nation
- とみ三(Samurai33), Dash Japan: https://twitter.com/samurai3311
- Dash Vietnam: https://twitter.com/dashvietnam
News¶
- Dash Force News: https://www.dashforcenews.com
- Dash News En Español: https://dashnewsespanol.com
- Dash News En Español (YouTube): https://www.youtube.com/channel/UCG6Cuh8Q2eUt4NlZu4K-u8g
- Dash News Korea: https://dashnewskorea.com
- Cointelegraph: https://cointelegraph.com/tags/dash
- 巴比特 (8BTC): http://www.8btc.com/dash
- 比特时代 (BTC38): http://www.btc38.com/altcoin/dash
- Dash Embassy D-A-CH: http://www.dash-embassy.org/
- Dash News Germany: https://dash-news.de
- Dash Vietnam: https://dashvn.blogspot.com
- Dash France: https://dashfrance.com/
- Dash News China (Wechat): dashnews (or scan QR below)

Blogs¶
- Evan Duffield's blog: https://medium.com/@eduffield222
- Dashdot: https://dashdot.io/alpha/
Inactive¶
- Bitcoin.com forum: https://forum.bitcoin.com/dash-f67
- Crypto-city.com page: https://www.crypto-city.com/index.php/dash-dash-coin
- Bitco.in forum: https://bitco.in/forum/threads/dash-digitalcash.891
Tools¶
Block explorers, statistics and visualizations¶
- https://explorer.dash.org
- https://insight.dash.org/insight
- https://chainz.cryptoid.info/dash
- https://www.coinexplorer.net/dash
- https://bitinfocharts.com/dash/explorer
- https://dashblockexplorer.com
- https://live.blockcypher.com/dash
- https://dash.holytransaction.com
- https://dashradar.com
- http://explorer.coinpayments.net/index.php?chain=7
- http://udjinm6.github.io/bitlisten
- http://insight.dash.crowdnode.io
Treasury tools¶
Masternode management¶
Price monitoring and statistics¶
Dash Community project¶
DarkNet pages¶
- Dash (Mirror of Main Page): http://dashorg64cjvj4s3.onion
- The Hidden Wiki: http://zqktlwi4fecvo6ri.onion/wiki/Dash_-_DigitalCash
Mobile Apps¶
iOS¶
- Dash Wallet: https://itunes.apple.com/app/id1206647026
- Edge Wallet: https://itunes.apple.com/app/id1344400091
- Jaxx Wallet: https://itunes.apple.com/app/id1084514516
- Coinomi Wallet: https://itunes.apple.com/app/id1333588809
- Dashy: https://itunes.apple.com/app/id1033268631
- CoinCap: https://itunes.apple.com/app/id1074052280
- Blockfolio: https://itunes.apple.com/app/id1095564685
- Cryptonaut: https://itunes.apple.com/app/id1312756405
- Quoinex: https://itunes.apple.com/app/id1140955992
- Abra: https://itunes.apple.com/app/id966301394
- BitUniverse: https://itunes.apple.com/app/id1329338902
Android¶
- Dash Wallet: https://play.google.com/store/apps/details?id=hashengineering.darkcoin.wallet
- Edge Wallet: https://play.google.com/store/apps/details?id=co.edgesecure.app
- Jaxx Wallet: https://play.google.com/store/apps/details?id=com.kryptokit.jaxx
- Coinomi Wallet: https://play.google.com/store/apps/details?id=com.coinomi.wallet
- Cryptonator Wallet: https://play.google.com/store/apps/details?id=com.aev.cryptonator
- DashCentral: https://play.google.com/store/apps/details?id=net.paregov.android.dashcentral
- CoinCap: https://play.google.com/store/apps/details?id=io.coinCap.coinCap
- Blockfolio: https://play.google.com/store/apps/details?id=com.blockfolio.blockfolio
- Cryptonaut: https://play.google.com/store/apps/details?id=org.cryptonaut.app
- Quoinex: https://play.google.com/store/apps/details?id=mobi.quoine
- Abra: https://play.google.com/store/apps/details?id=com.plutus.wallet
- Bitcoin Ticker Widget: https://play.google.com/store/apps/details?id=st.brothas.mtgoxwidget
- BitUniverse: https://play.google.com/store/apps/details?id=com.bituniverse.portfolio
Glossary¶
- 51% Attack
- A condition in which more than half the computing power on a cryptocurrency network is controlled by a single miner or group of miners. That amount of power theoretically makes them the authority on the network. This means that every client on the network believes the attacker’s hashed transaction block.
- Address
- A Dash address is used to Send/Receive a Payment on the Dash network. It contains a string of alphanumeric characters, but can also be represented as a scannable QR code. A Dash address is also the public key in the pair of keys used by Dash holders to digitally sign transactions (see Public key).
- Algorithm
- In mathematics and computer science, an algorithm is a self-contained step-by-step set of operations to be performed. Algorithms perform calculation, data processing, and/or automated reasoning tasks.
- Altcoin
- Since Bitcoin was the first cryptocurrency and has the largest market capitalization, it is considered as the reference. An altcoin, or alternative coin, is any cryptocurrency other than Bitcoin.
- AML
- Anti-Money Laundering techniques are used to stop people from making illegally obtained funds appear as though they have been earned legally. AML mechanisms can be legal or technical in nature. Regulators frequently apply AML techniques to Dash exchanges.
- API
In computer programming, an application programming interface (API) is a set of routines, protocols, and tools for building software and applications.
An API expresses a software component in terms of its operations, inputs, outputs, and underlying types, defining functionalities that are independent of their respective implementations, which allows definitions and implementations to vary without compromising the interface. A good API makes it easier to develop a program by providing all the building blocks, which are then put together by the programmer.
- ASIC
- An application-specific integrated circuit (ASIC), is an integrated circuit (IC) customized for a particular use, rather than intended for general-purpose use. For example, a chip designed to run in a digital voice recorder or for high-efficiency Dash mining is an ASIC.
- ATM / BTM
- A Dash ATM is a physical machine that allows a customer to buy Dash with cash. There are many manufacturers, some of which enable users to sell Dash for cash. They are also sometimes called 'BTMs' or 'Dash AVMS.' Dash is supported on several ATMs.
- Backlog
- Backlog generally refers to an accumulation over time of work waiting to be done or orders to be fulfilled.
- 백업하기
- The process of making copies of a computer file to ensure its integrity in case of loss, theft, or damage. Dash allows users to make backup copies of their digital wallets. This protects against losing one's money in the event of a computer crashing or losing one’s mobile device. This would be the equivalent of being able to backup the cash in your wallet, so that if you lost it, you could restore the cash from a backup.
- Bitcoin 2.0
- This is a term explaining the next new level of Bitcoin projects which started as a fork of Bitcoin but extended their code into the next level of Blockchain Projects (Smart Contracts, Decentralised Voting,....)
- Blockchain
- A blockchain is a distributed database that maintains a continuously-growing list of data records hardened against tampering and revision. It consists of data structure blocks — which exclusively hold data in initial blockchain implementations, and both data and programs in some of the more recent implementations — with each block holding batches of individual transactions and the results of any blockchain executables. Each block contains a timestamp and information linking it to a previous block.
- Blocks
- Transactions on the Blockchain are collected in "blocks" which record and confirm when and in what sequence transactions enter and are logged in the block chain. Blocks are created by users known as "miners" who use specialized software or equipment designed specifically to create blocks.
- Budget System / DGBB
- The development of Dash and the Dash ecosystem is self-funded by the network. Each time a block is discovered, 45% of the block reward goes to miners and 45% goes to masternodes. Ten percent is withheld by the network and used to fund projects that are approved by the masternode network. This process is known as Decentralized Governance by Blockchain (DGBB). For a fee, anybody can submit a proposal to the network, and will be paid directly by the blockchain if approved by the masternodes. The Budget System is sometimes called the Treasury System; the two terms are interchangeable.
- ChainLock
- Defined in DIP8, ChainLocks are a method of using an LLMQ to threshold sign a block immediately after it is propogated by the miner in order to enforce the first-seen rule. This is a powerful method of mitigating 51% mining attacks, which are associated with double spending.
- Cloud Wallet
- Third parties that will store your Dash on their servers for you, so that you can access your funds from any device connected to the internet. If their website is hacked or if their servers are damaged, you run the risk of losing your Dash. Any online wallets should be secured with strong passphrases and 2FA. You cannot make backup copies of your online wallet, because you do not have access to the private keys. We do not recommend that you store large quantities of funds in online wallets.
- Coinbase transaction
- The first transaction in a block. Always created by a miner, it includes a single input which constitutes the block reward. This is split between the miner and a deterministically chosen masternode.
- Cold Storage
- A method of generating and storing private keys completely offline. One could use a desktop or laptop computer disconnected from the internet, a dedicated hardware wallet, a USB stick, or a paper wallet.
- Confirm(ed) Transaction
- When a Dash transaction is made, a miner must verify that the transaction is valid. When the inputs and outputs are verified, the transaction is included in a block in the blockchain. The transaction can then be considered complete and irreversible. The confirmation number increases as more blocks are added to the blockchain.
- Confirmation Number
- The number of confirmations for a specific Dash transaction. Zero confirmations means that the transaction is unconfirmed. One confirmation means that the transaction is included in the latest block in the blockchain. Two confirmations means the transaction is included in two blocks, three confirmations for three blocks, and so on. The probability of a transaction being reversed (double spent) diminishes exponentially with every block and subsequent confirmation. Six confirmations is usually considered "safe" and irreversible.
- Confirmed Transactions
- Transactions that are processed by miners and considered irreversible, usually after six confirmations. In the case of InstantSend, funds can be considered irreversible after a few seconds, but must still be written to the blockchain (and thus "confirmed").
- CPU
- A central processing unit (CPU) is the electronic circuitry within a computer that carries out the instructions of a computer program by performing the basic arithmetic, logical, control and input/output (I/O) operations specified by the instructions. The term has been used in the computer industry at least since the early 1960s. Traditionally, the term "CPU" refers to a processor, more specifically to its processing unit and control unit (CU), distinguishing these core elements of a computer from external components such as main memory and I/O circuitry.
- Cryptocurrency
- A cryptocurrency (or crypto currency or crypto-currency) is a medium of exchange using cryptography to secure the transactions and to control the creation of new units.
- Cryptography
- Cryptography or cryptology (from Greek κρυπτός kryptós, "hidden, secret"; and γράφειν graphein, "writing," or -λογία -logia, "study," respectively) is the practice and study of techniques for secure communication in the presence of third parties called adversaries. More generally, cryptography is about constructing and analyzing protocols that prevent third parties or the public from reading private messages; various aspects in information security such as data confidentiality, data integrity, authentication, and non- repudiation are central to modern cryptography. Modern cryptography exists at the intersection of the disciplines of mathematics, computer science, and electrical engineering. Applications of cryptography include ATM cards, computer passwords, and electronic commerce.
- DAP
- Decentralized Application Protocol. This term describes an application running on top of the Dash DAPI platform.
- DAP Client
- An HTTP Client that connects to DAPI and enables Dash blockchain users to read and write data to their DAP Space.
- DAP Schema
- A Dash Schema document extending the Dash System Schema to define consensus data and rules within a DAP contract.
- DAP Space
- The part of a DAP State that is owned by a specific blockchain user. Data in a DAP Space can only be changed by the owner.
- DAP State
- The total set of data stored in a DAP. This data consists of user DAP Spaces.
- DAPI
- Decentralized Application Programming Interface. See above for a definition of API. DAPI will perform the same functions as an API, but with quorums of masternodes acting as the endpoints for API communication.
- 대시 그래비티 웨이브
- In concept, Dark Gravity Wave (DGW) is similar to Kimoto Gravity Well, adjusting the difficulty levels every block (instead of every 2016 blocks like Bitcoin) by using statistical data of the last blocks found. In this way block issuing times can remain consistent despite fluctuations in hashpower. However it doesn't suffer from the time-warp exploit.
- Darkcoin
- Dash was initially launched as XCoin and then rebranded to Darkcoin and finally Dash.
- Dash
- Originally launched as Xcoin and later renamed to Darkcoin, the currency was later renamed "Dash" to avoid association with the darknet markets. Dash is a portmanteau of "Digital Cash." Dash is an open source peer-to- peer cryptocurrency that solves many of Bitcoin's problems. Dash's features include PrivateSend, InstantSend, Decentralized Governance by Blockchain (DGBB), a 2nd tier network (referred to as the masternode network). See the Features page for a full list of Dash's features.
- DashDrive
- Dash network data storage backend service used by masternodes for off-chain data relating to Evolution. DashDrive implements IPFS, a type of distributed file storage system.
- Dash Client
- Dash clients are software programs used to interface with the Dash network. They store the private keys needed to conduct Dash transactions as well as a copy of the entire blockchain. A Dash client connects to the Dash network and becomes a node in the network. A node shares and propagates new transactions with the rest of the network, creating a robust decentralized infrastructure.
- Dash Core 지갑
- The Dash Core Wallet (known also as the QT wallet) is the "official" Dash wallet that is compiled by the Dash Core Team and allows both PrivateSend and InstantSend. The DashCore wallet will download the entire blockchain and serve it over the internet to any peers who request it.
- Dash Evolution
- This is a 3 tier network Dash developers are presently building. It will make Dash as easy to use as PayPal, while still remaining decentralized. See the Evolution page for more information.
- Dash Schema
- A JSON-based language specification for defining and validating consensus data in Evolution.
- DDoS
- A distributed denial of service attack uses large numbers of computers under an attacker’s control to drain the resources of a central target. They often send small amounts of network traffic across the Internet to tie up computing and bandwidth resources at the target, which prevents it from providing services to legitimate users. Dash exchanges have sometimes been hit with DDoS attacks.
- Decentralized
- Decentralized computing is the allocation of resources, both hardware and software, to each individual workstation or office location. In contrast, centralized computing exists when the majority of functions are carried out or obtained from a remote centralized location. Decentralized computing is a trend in modern-day business environments. This is the opposite of centralized computing, which was prevalent during the early days of computers. A decentralized computer system has many benefits over a conventional centralized network. Desktop computers have advanced so rapidly that their potential performance far exceeds the requirements of most business applications. This results in most desktop computers remaining nearly idle most of the time. A decentralized system can use the potential of these systems to maximize efficiency. However, it is debatable whether these networks increase overall effectiveness.
- Desktop Wallet
- A wallet is a piece of software that stores your Dash. There are many different wallet options, but it is imperative to choose a secure one. We recommend any of the following: Dash Core Wallet / Dash Electrum Wallet / Hardware Wallets
- Difficulty
- This number determines how difficult it is to hash a new block. It is related to the maximum allowed number in a given numerical portion of a transaction block’s hash. The lower the number, the more difficult it is to produce a hash value that fits it. Difficulty varies based on the amount of computing power used by miners on the Dash network. If large numbers of miners leave a network, the difficulty would decrease. Dash's increasing popularity and the availability of specialized ASIC miners have caused the difficulty to increase over time.
- Digital Wallet
See this link for full documentation on wallets.
A digital wallet is similar to a physical wallet except that it is used to hold digital currency. A Dash wallet holds your private keys, which allow you to spend your Dash. You are also able to make backups of your wallet in order to ensure that you never lose access to your Dash. Digital wallets can exist in many different forms and on many devices:
- Desktop Wallet (Dash Electrum Wallet, Dash Core Wallet): Wallet programs that you install on a laptop or desktop computer. You are solely responsible for protecting the wallet file and the private keys it contains. Make backup copies of your wallet files to ensure that you don't lose access to your funds.
- Mobile Wallet (Android, iOS): These wallets can be downloaded through Google Play or Apple (iTunes) App Stores. Mobile wallets allow you to use Dash on-the-go by scanning a QR code to send payment. Make backup copies of your mobile wallet files to ensure that you don't lose access to your funds. Due to security issues with mobile phones, it is advised that you don't store large amounts of funds on these wallets.
- Online/Cloud/Web Wallet (Exodus, MyDashWallet): Third parties that will store your Dash on their servers for you or provide an interface to access your Dash with you providing the keys, so that you can access your Dash from any device connected to the internet. If their website is hacked or if their servers are damaged, you run the risk of losing your Dash. Any online wallets should be secured with strong passphrases and 2FA. You cannot make backup copies of your online wallet, because you do not have access to the private keys. We strongly urge that you NEVER store large amounts of Dash in any online wallet or cryptocurrency exchange.
- Hardware Wallets (Trezor, KeepKey, Ledger, Nano): A hardware wallet is a specialized, tamper-proof, hardware device that stores your private keys. This device is able to sign transactions with your private key without being connected to the internet. However, you must have an internet connection to send the transaction to the Dash network. This allows your private keys to be accessed easily while still keeping them securely protected. This is widely regarded to be the safest form of storage for your Dash.
- Offline/Cold Storage (Paper wallet): A special wallet that is created offline and is never exposed to the internet. Accomplished by using software to generate a public and private key offline and then recording the generated keys. They keys can be printed out on paper or even laser-etched in metal. Copies can be made and stored in a personal safe or bank deposit box. This is an extremely secure way to store Dash. There is no risk of using software wallet files, which can become corrupt, or web wallets, which can be hacked. NOTE: USB sticks are not safe for long-term (multi-year) storage because they degrade over time.
- DKG
- Defined in DIP6, Distributed Key Generation (DKG) is a method of generating a BLS key pair for use in an LLMQ to perform threshold signing on network messages. It is based on BLS M-of-N Threshold Scheme and Distributed Key Generation, which is an implementation of Shamir’s Secret Sharing.
- Digital Signature
- A digital signature is a mathematical mechanism that allows someone to prove their identity or ownership of a digital asset. When your digital wallet signs a transaction with the appropriate private key, the whole network can see that the signature matches the address of the Dash being spent, without the need to reveal the private key to the network. You can also digitally sign messages using your private key, to prove for instance that you are the owner of a certain Dash address.
- Electrum Wallet
- Dash Electrum Wallet is a lightweight wallet that does not require you to download or sync the entire blockchain, making the wallet lighter and faster. However, it is missing certain features such as PrivateSend and InstantSend.
- Encryption
- In cryptography, encryption is the process of encoding messages or information in such a way that only authorized parties can read it. Encrypted messages which are intercepted by a third-party are indecipherable gibberish without the private key. In an encryption scheme, the plaintext message is encrypted using an encryption algorithm, generating ciphertext that can only be read if decrypted by the intended recipient. For technical reasons, an encryption scheme usually uses a pseudo-random encryption key generated by an algorithm. Increases in computing power have "broken" many past encryption algorithms, but a well-designed modern system such as AES-256 is considered essentially "uncrackable."
- Escrow Services
An escrow is:
- a contractual arrangement in which a third party receives and disburses money or documents for the primary transacting parties, with the disbursement dependent on conditions agreed to by the transacting parties; or
- an account established by a broker for holding funds on behalf of the broker's principal or some other person until the consummation or termination of a transaction; or
- a trust account held in the borrower's name to pay obligations such as property taxes and insurance premiums.
A trusted escrow service is often used when purchasing cryptocurrency or other goods/services over the internet. Both the buyer and seller will choose a trusted third-party, the seller will send the item (or currency) to the escrow agent, and the buyer will send the purchasing funds to the escrow agent as well. Once the escrow agent is satisfied that both parties have satisfied the terms of the agreement, he/she will forward the funds and the product (or currency) being purchased to the appropriate party.
- Evan Duffield
- Founder and first Lead Developer of Dash. Inventor of X11, InstantSend and PrivateSend. Before creating Dash, Evan was a financial advisor and holds a Series 65 license.
- Exchange
- The current price of one Dash compared to the price of other currencies, like the US dollar, Yen, Euro, or Bitcoin. Because most trading volume takes place on the BTC/DASH markets, price is often quoted in fractions of a bitcoin. For instance, the price of one Dash at the end of March 2017 was 0.08 (bitcoins per Dash). An excellent site for following the exchange rate of Dash is CoinMarketCap. Businesses wishing to reduce the risk of holding a volatile digital currency can avoid that risk altogether by having a payment processor do an instant exchange at the time of each transaction.
- Faucet
- Faucets are a reward system, in the form of a website or app, that dispenses rewards in the form of a microdash or Duff, which is a hundredth of a millionth Dash, for visitors to claim in exchange for completing a captcha or task as described by the website.
- Fiat Gateway
Fiat money has been defined variously as:
- Any money declared by a government to be legal tender.
- State-issued money which is neither convertible by law to any other thing, nor fixed in value in terms of any objective standard.
- Intrinsically valueless money used as money because of government decree.
Examples include the US dollar, the Euro, the Yen, and so forth.
- Fintech
- Financial technology, also known as FinTech, is an economic industry composed of companies that use technology to make financial services more efficient. Financial technology companies are generally startups trying to make financial processes more efficient or eliminate middle- men. Recently many fintech companies have begun utilizing blockchain technology, which is the same technology that underpins Dash and Bitcoin.
- Fork
When the blockchain diverges or splits, with some clients recognizing one version of the blockchain as valid, and other clients believing that a different version of the blockchain is valid. Most forks resolve themselves without causing any problems, because the longest blockchain is always considered to be valid. In time, one version of the blockchain will usually "win" and become universally recognized as valid. Forks can, however, be extremely dangerous and should be avoided if possible.
Forking is most likely to occur during software updates to the network. Dash uses a Multi-Phased Fork (“Spork”) system for greater flexibility and safety.
- Full Nodes
- Any Dash client that is serving a full version of the blockchain to peers. This can be a user running a Dash Core wallet on his/her desktop, or it could be a masternode. Full nodes promote decentralization by allowing any user to double check the validity of the blockchain.
- Fungible
- Every unit of the currency is worth the same as any other unit.
- Genesis Block
- The very first block in the block chain.
- GPU
- A graphics processing unit (GPU), also occasionally called visual processing unit (VPU), is a specialized electronic circuit designed to rapidly manipulate and alter memory to accelerate the creation of images in a frame buffer intended for output to a display. GPUs are used in embedded systems, mobile phones, personal computers, workstations, and game consoles. Modern GPUs are very efficient at manipulating computer graphics and image processing, and their highly parallel structure makes them more efficient than general- purpose CPUs for algorithms where the processing of large blocks of data is done in parallel. In a personal computer, a GPU can be present on a video card, or it can be embedded on the motherboard or — in certain CPUs — on the CPU die. Certain cryptocurrencies use mining algorithms which are most efficiently run on GPUs.
- Hardware Wallet
- Hardware wallets are among the safest type of wallet for storing your Dash. Your private key is protected inside a piece of hardware, and is never exposed to the internet. You are still able to sign transactions as normal, making it both safe and convenient.
- Hash
- A mathematical process that takes a variable amount of data and produces a shorter, fixed-length output. A hashing function has two important characteristics. First, it is mathematically difficult to work out what the original input was by looking at the output. Second, changing even the tiniest part of the input will produce an entirely different output.
- Hashrate
- The number of hashes that can be performed by a Dash miner in a given period of time (usually a second).
- Insight
- Blockchain information server used to power block explorers and respond to transaction queries.
- InstantX
- See InstantSend
- 인스턴트샌드
- InstantSend technology uses the masternode network to "lock" transaction inputs, preventing Dash from being double-spent. Unlike Bitcoin, where it takes an hour or longer for transactions to fully confirm, transactions using InstantSend are "locked" and irreversible after only a few seconds.
- Liquidity
- The ability to buy and sell an asset easily, with pricing that stays roughly similar between trades. A suitably large community of buyers and sellers is important for liquidity. The result of an illiquid market is price volatility, and the inability to easily determine the value of an asset.
- LLMQ
- Defined in DIP6, A Long- Living Masternode Quorum (LLMQ) is a deterministic subset of the global deterministic masternode list. Such a quorum is formed with the help of a distributed key generation (DKG) protocol and is supposed to be active for a long time (e.g. days). Multiple quorums are kept alive at the same time, allowing load balancing between these quorums. The main task of a LLMQ is to perform threshold signing of consensus related messages.
- Masternode
A masternode is special type of full node that performs services for the network and is paid a portion of the block reward. Masternodes require proof of ownership of 1000 DASH.
Masternodes serve as the second tier of the Dash network, and power InstantSend, PrivateSend, the Budget System.
- Mining
- Miners process transactions on the Dash network and publish them on the blockchain. As a reward for doing this, miners are paid 45% of the block reward.
- Mobile Wallet
- These are wallets available on mobile devices (iOS + Android).
- MultiSig
- Multi-signature addresses provide additional security by requiring multiple people to sign a transaction with their private key before the transaction can be sent. For example, in 2 of 3 multisig, two out of three possible signatories have to sign a transaction for it to be processed. Multi-signature addresses are commonly used by exchanges and other organizations that are in possession of large sums of cryptocurrency, since it makes theft much more difficult.
- Node
- A node is any device running Dash wallet software. Full nodes are software clients that have downloaded the entire blockchain and serve it to other clients on Dash's peer-to-peer network.
- OTC
- Over the counter (OTC) trades are trades that occur off exchanges. In an OTC trade, a buyer and seller trade with each other directly, or through an intermediary. OTC trading is useful when a person wants to either buy or sell a large amount of cryptocurrency and is afraid that a large buy or sell order will move the price (called "slippage").
- P2P
- Peer-to-peer. Decentralized interactions that happen between at least two parties in a highly interconnected network. An alternative system to a 'hub-and-spoke' arrangement, in which all participants in a transaction deal with each other through a single mediation point.
- Paper Wallet
- Paper wallets are offline wallets, printed on paper for safety. If properly secured and stored they are considered the safest way to store cryptocurrency.
- Privacy
- Privacy is the ability of an individual or group to seclude themselves, or information about themselves, and thereby express themselves selectively. The boundaries and content of what is considered private differ among cultures and individuals, but share common themes. When something is private to a person, it usually means that something is inherently special or sensitive to them. The domain of privacy partially overlaps security (confidentiality), which can include the concepts of appropriate use, as well as protection of information. Dash includes PrivateSend, which allows users to maintain financial privacy.
- Private Key
- A private key is a long alphanumeric passcode that allows Dash to be spent. Every Dash wallet contains one or more private keys which are saved in the wallet file. The private keys are mathematically related to all Dash addresses generated for the wallet. Because the private key is the "ticket" that allows someone to spend Dash, it is important that these are kept secure and secret.
- 프라이빗샌드
- PrivateSend obscures the source of funds in order to maintain financial privacy between users. It can be turned on or off at the users' discretion.
- Proof of Service - PoSe
- Consensus mechanism used in Dash to verify that a masternode has provided uninterrupted service meeting a minimum quality level to the network. Maintaining this service allows a masternode to enter and move up through the global list and eventually into the selection pool to receive payment.
- Proof of Stake - PoS
- Consensus mechanism that relies on ownership of a cryptocurrency to maintain the blockchain. In Proof of Stake systems, each owner of the currency can use their wallet to "stake," and there's a small chance that they will be chosen to create the next block and add it to the chain. In this way consensus is maintained across all nodes. Proof of Stake saves electricity and does not require specialized computer hardware. It does however suffer from several pitfalls, including the "nothing at stake" problem. Since no electricity is consumed, in the event of an attack it is actually beneficial for Proof of Stake nodes to "vote" to accept both the legitimate chain and the attacker's chain.
- Proof of Work - PoW
- Consensus mechanism that keeps all nodes honest by requiring computational power to be expended in order to create new blocks. Miners must use expensive equipment and burn electricity to add blocks to the blockchain. Without a consensus mechanism of some sort, any node could add blocks to the chain and the network's nodes would never agree on which chain was valid.
- Public Key
- The public key is derived from the private key but is not secret and can be revealed to anybody. When a private key is used to sign messages, the public key is used to verify that the signature is valid.
- Pump and dump
- Inflating the value of a financial asset that has been produced or acquired cheaply, often using aggressive publicity and misleading statements. The publicity causes others to acquire the asset, forcing up its value. When the value is high enough, the perpetrator sells their assets, cashing in and flooding the market, which causes the value to crash. This is particularly common in markets with low liquidity, such as some altcoins.
- Quorum
- Group of masternodes signing or voting on some action, with the formation of the group determined by some determiniation algorithm.
- QR Code
- A two-dimensional graphical block containing a monochromatic pattern representing a sequence of data. QR codes are designed to be scanned by cameras, including those found in mobile phones, and are frequently used to encode Dash addresses.
- Satoshi Nakamoto
- Satoshi Nakamoto is the name used by the person or people who designed Bitcoin and created its original reference implementation.
- SDK
- Software Development Kit. A set of tools, code and documentation used by developers to create apps targeting a specific hardware or software platform.
- State View
- The current state of all data objects once all changes from state transitions have been applied. Used in Evolution to determine what should be displayed in a given social wallet, for example.
- Spork
- The Dash development team created a mechanism known as a "spork" by which updated code is released to the network, but not immediately made active (or “enforced”). Communication is sent out to users informing them of the change and the need for them to update their clients. Those who update their clients run the new code, but in the event of errors occurring with that new code, the client’s blocks are not rejected by the network and unintended forks are avoided. Data about the error can then be collected and forwarded to the development team. Once the development team is satisfied with the new code’s stability in the mainnet environment – and once acceptable network consensus is attained – enforcement of the updated code can be activated remotely. Should problems arise, the code can be deactivated in the same manner, without the need for a network-wide rollback or client update.
- Tainted Coins
- Taint is a measure of correlation between two (wallet) addresses. It is only important if the user is trying to remain anonymous.
- tDash
- Test Dash, used on testnet.
- Testnet
- Testnet is a network only for testing (parallel to the mainnet), test wallets, test coins, test masternodes, test miners, and test users all simulate their mainnet counterparts in a safe environment where errors or forks are not harmful.
- Tor
- An anonymous routing protocol used by people wanting to hide their identity online.
- Transaction
- Some movement of data on the distributed blockchain ledger. Transactions may be divided into classical and special transactions. Similar to Bitcoin, classical transactions move balances between addresses on the blockchain. Special transactions contain an extra payload in the format defined by DIP2, and can be used to manage blockchain users, for example.
- Transaction Block
- A collection of transactions on the Dash network, gathered into a block that can then be hashed and added to the blockchain.
- Transaction Fee
- A small fee imposed on some transactions sent across the Dash network. The transaction fee is awarded to the miner that successfully hashes the block containing the relevant transaction.
- Unconfirmed Transactions
- Transactions that are not yet processed by miners or held via InstantSend are "unconfirmed on the blockchain." Unconfirmed transactions can be reversed and should not be considered as "final."
- Vanity Address
- A Dash address with a desirable pattern, such as a name.
- Virgin Dash
- Dash received as a reward for mining a block or running a masternode. These have not yet been spent anywhere and are "virgin."
- Volatility
- The measurement of price movements over time for a traded financial asset (including Dash).
- Wallet
- A method of storing Dash for later use. A wallet holds the private keys associated with Dash addresses. The blockchain is the record of the Dash balances (and transactions) associated with those addresses.
- 화이트페이퍼
- A white paper is an authoritative report or guide that informs readers concisely about a complex issue and presents the issuing body's philosophy on the matter. It is meant to help readers understand an issue, solve a problem, or make a decision.
- X11
- X11 is a hashing algorithm created by Dash Core developer Evan Duffield.
- Zero Confirmations
- This is a transaction without any confirmations from the blockchain. It is technically reversible (unless InstantSend was used).
- vin
- A transaction (tx) consists of one or more inputs and one or more outputs. The vin is the list of inputs to the transaction, and vout is the list of outputs. Masternodes require a 1000 DASH vin (exactly that amount) in order to work.
- VMN
- Virtual Masternode - a standalone masternode emulator in JavaScript that simulates Layer 1-3 Evolution functions for DAP design, development and testing.
지갑¶
시장 가치 있는 오브젝트를 저장할 때마다 보안은 필수입니다. 이것은 물물 교환 시스템으로 통화를 사용하는 경제뿐만 아니라 물물 교환 시스템에도 적용됩니다. 은행이 개인 장부에 잔액을 저장하는 동안 암호 화폐는 분산된 공공 렛저의 고유 주소 아래에 금액을 저장합니다. 따라서 각 공개 주소에 저장된 금액에 액세스하는 암호화된 프라이빗 키는 이 시스템에서 가치있는 항목입니다. Dash 설명서인 이 섹션에서는 일상에서도 유용한, 지갑에 이러한 키를 안전하게 유지하는 다양한 실용적인 방법에 대해 알려드립니다.
안전을 위해 중요한 자금을 교환 하거나 소프트웨어 지갑에 저장하는 것은 권장하지 않습니다. 저장소에 저장했던 것보다 더 많은 암호 화폐를 보유하고 있다면 하드웨어 지갑 을 구매해야합니다.
Dash Core 지갑¶
Dash Core 지갑은 Dash의 공식 릴리스 지갑이며, 인스턴드샌드 및 프라이빗샌드는 물론 RPC 콘솔 및 거버넌스 기능을 포함하여 모든 Dash 기능을 지원합니다. Dash Core Wallet (개발에 사용되는 QT 소프트웨어 프레임 워크로 인해 QT 지갑으로도 알려짐)은 전체 블록 체인 (몇 GB 사이즈)을 다운로드하고 전체 노드 또는 마스터노드로 작동할 수있는 전문적이고도 무거운 지갑입니다. . 블록 체인의 전체 복사본을 보관해야하기 때문에 지갑을 시작할 때 동기화에 약간의 시간이 필요합니다. 이 작업이 완료되면 올바른 잔액이 표시되고 지갑의 기능을 사용할 수 있습니다. Dash Core Wallet은 맥OS, 리눅스, 라즈베리파이 및 윈도우즈에서 사용 가능 합니다.
특징:
- 프라이빗샌드
- 인스턴트샌드
- 지갑 암호화
- 코인 관리 및 수수료 관리
- QR 코드 생성 및 주소록
- 마스터노드 명령과 투표
- 자동화된 백업
- 디버그 콘솔
사용 가능한 설명서:
설치하기¶
Dash Core를 설치하는 것은 매우 간단합니다. 먼저 https://www.dash.org/ 에서 시스템에 적합한 파일을 다운로드 한 다음, 본인이 사용중인 운영체제에 맞게 차례대로 설치합니다. 다음은 리눅스, 맥OS 및 윈도우즈 운영 체제에 대한 자세한 안내서입니다.
소스코드에서 Dash Core 를 컴파일 하는 것 도 가능합니다.
Linux Installation Guide¶
This guide describes how to download, verify, install and encrypt the Dash Core wallet for Linux. The guide is written for Ubuntu 16.04 LTS, but the steps should be similar for other Linux distributions.
Visit https://www.dash.org/get-dash to download the latest Dash Core wallet. In most cases, the website will properly detect which version you need. Click the blue Dash Core button to download the package directly.
If detection does not work, you will need to manually choose your operating system and whether you need a 32 or 64 bit version. If you are unsure whether your version of Linux is 32 or 64 bit, you can check in Ubuntu under the System menu > About This Computer. For details on how to check this in other versions of Linux, see here.
Once you know which version you need, download Dash Core to your computer from https://www.dash.org/wallets.
다운로드 폴더에 다운로드 받은 파일을 저장하세요.
이 단계는 선택적입니다. 그러나 다운로드 받은 파일의 완전성을 검증할 것을 권장합니다. 이는 대시 코어 개발팀이 게재한 SHA256 해시와 지갑을 확인함으로써 완료됩니다. 코어 팀이 게재한 해시를 확인하시려면 지갑 다운로드 페이지에 있는 해시 파일 버튼을 클릭하십시오.
Once both the Dash Core file and the hash file have downloaded, double-click the hash file or view it in your browser and find the hash value for the Dash Core file you downloaded.
This hash value should correspond with the hash value of the file you have downloaded to ensure it is authentic and was not corrupted during transit. To do this, open Terminal, browse to the location where you saved the file, and run the sha256sum command.
If the hashes match, then you have an authentic copy of Dash Core for Linux.
Dash Core for Linux is distributed as a compressed archive and not an installer. This is because this same archive also contains other files built for running a masternode on a server, for example. In this guide, we will extract the executable file with a graphical user interface (GUI) designed for use by end users as a wallet.
Begin by creating a folder for the Dash Core executable file on the Desktop. Browse to the Desktop (or the location of your choice) and create the folder.
Next, open the archive by double-clicking on it. The Archive Manager will appear. Browse to the dashcore-0.12.1/bin/ folder and extract the dash-qt file to the Dash folder you created on the Desktop by drag and drop.
To run Dash Core for the first time, open Terminal and browse to the
Dash folder on the Desktop, or where you chose to extract the file. Type
./dash-qt
to run the file.
The first time the program is launched, you will be offered a choice of where you want to store your blockchain and wallet data. Choose a location with enough free space, as the blockchain can reach 10GB+ in size. It is recommended to use the default data folder if possible.
이후 대시 코어가 실행될 것입니다. 첫 실행 시에는 다소 긴 시간이 소요되는데, 이는 대시 코어가 당신의 지갑을 안전하게 보호하기 위하여 암호화된 데이터를 생성하기 때문입니다.
대시 코어가 성공적으로 설치 및 시작되는 경우, 당신은 지갑 개요 화면을 보게 될 것입니다. 당신은 지갑이 동기화 되지 않은 상태이며 창의 하단 상태 바가 동기화 진행 상황을 보여주고 있음을 확인할 수 있습니다.
이 과정에서 대시 코어는 다른 노드로부터 당신의 기기에 대시 블록체인의 전체 복사본을 다운로드 할 것입니다. 당신의 인터넷 연결 상태에 따라 이 과정은 긴 시간이 소요될 수 있습니다. 만일 당신이 '사용할 수 있는 블록 소스 없음' 메시지를 받는다면, 당신의 인터넷 연결 상황을 확인하십시오. 동기화가 완료되면 당신은 작은 파란색 체크 표시를 볼 수 있을 것입니다.
이제 당신은 당신의 지갑을 이용하여 돈을 보내고 받을 수 있습니다.
당신의 지갑이 대시 네트워크와 동기화를 마치면, 지갑을 암호 혹은 암호문을 통해 암호화 할 것을 강력하게 권장합니다. 이 경우 다른 곳에서 사용한 적 없는 강력하고 새로운 암호를 사용하여야 합니다. 당신의 암호를 별도로 적어 안전한 곳에 저장하십시오. 그렇지 않으면 지갑이 잠기게 되어 당신의 자금에 접근할 수 없게 됩니다.
To encrypt your wallet, click Settings > Encrypt wallet.
암호문을 입력하고 확인하십시오.
지갑 암호화 과정이 완료되면, 당신은 지갑의 지난 백업을 더이상 사용할 수 없다는 경고문을 받게 됩니다. 또한 대시 코어를 종료하라는 메시지 역시 받게 될 것입니다. 대시 코어를 재시작하면 작은 파란색 자물쇠가 우측 하단 코너에 표시됩니다.
Ubuntu allows you to add third-party repositories to install and update software using the apt command line utility. Dash Core team maintains such a repository, although the software version included here may be older than what is available on the website. To install Dash Core from the repository, open the Terminal and enter the following commands:
sudo add-apt-repository ppa:dash.org/dash
sudo apt update
sudo apt install dashd dash-qt
macOS Installation Guide¶
This guide describes how to download, install and encrypt the Dash Core wallet for macOS. The guide is written for macOS Sierra, but the steps should be similar for other versions.
Visit https://www.dash.org/get-dash to download the latest Dash Core wallet. In most cases, the website will properly detect which version you need. Click the blue Dash Core button to download the installer directly.
If detection does not work, you will need to manually choose your operating system. Go to https://www.dash.org/wallets and select the OSX tab, then click Download DMG.
다운로드 폴더에 다운로드 받은 파일을 저장하세요.
이 단계는 선택적입니다. 그러나 다운로드 받은 파일의 완전성을 검증할 것을 권장합니다. 이는 대시 코어 개발팀이 게재한 SHA256 해시와 지갑을 확인함으로써 완료됩니다. 코어 팀이 게재한 해시를 확인하시려면 지갑 다운로드 페이지에 있는 해시 파일 버튼을 클릭하십시오.
Once both the Dash Core file and the hash file have downloaded, double-click the hash file or view it in your browser and find the hash value for the Dash Core file you downloaded.
This hash value should correspond with the hash value of the file you have downloaded to ensure it is authentic and was not corrupted during transit. To do this, open Terminal, browse to the location where you saved the file, and run the following command, replacing the version with the specific version of the file you downloaded:
shasum -a 256 dashcore-version-osx.dmg
If the hashes match, then you have an authentic copy of Dash Core for macOS.
Open Finder and browse to your Downloads folder. Then double-click on the .dmg file you downloaded to decompress it. A window appears showing the contents of the file.
Drag the Dash Core application file into your Applications folder to install Dash Core.
To run Dash Core for the first time, either open Launchpad or browse to your Applications folder in Finder. Double-click Dash Core or Dash-Qt to start the application. You may see a warning about opening an app from an unidentified developer. To resolve this problem, simply Control-click the app icon and choose Open from the shortcut menu, then click Open again in the dialog box. The app is saved as an exception to your security settings, and you can open it in the future by double-clicking it just as you can any registered app.

The first time the program is launched, you will be offered a choice of where you want to store your blockchain and wallet data. Choose a location with enough free space, as the blockchain can reach 10GB+ in size. It is recommended to use the default data folder if possible.
이후 대시 코어가 실행될 것입니다. 첫 실행 시에는 다소 긴 시간이 소요되는데, 이는 대시 코어가 당신의 지갑을 안전하게 보호하기 위하여 암호화된 데이터를 생성하기 때문입니다.
대시 코어가 성공적으로 설치 및 시작되는 경우, 당신은 지갑 개요 화면을 보게 될 것입니다. 당신은 지갑이 동기화 되지 않은 상태이며 창의 하단 상태 바가 동기화 진행 상황을 보여주고 있음을 확인할 수 있습니다.
이 과정에서 대시 코어는 다른 노드로부터 당신의 기기에 대시 블록체인의 전체 복사본을 다운로드 할 것입니다. 당신의 인터넷 연결 상태에 따라 이 과정은 긴 시간이 소요될 수 있습니다. 만일 당신이 '사용할 수 있는 블록 소스 없음' 메시지를 받는다면, 당신의 인터넷 연결 상황을 확인하십시오. 동기화가 완료되면 당신은 작은 파란색 체크 표시를 볼 수 있을 것입니다.
이제 당신은 당신의 지갑을 이용하여 돈을 보내고 받을 수 있습니다.
당신의 지갑이 대시 네트워크와 동기화를 마치면, 지갑을 암호 혹은 암호문을 통해 암호화 할 것을 강력하게 권장합니다. 이 경우 다른 곳에서 사용한 적 없는 강력하고 새로운 암호를 사용하여야 합니다. 당신의 암호를 별도로 적어 안전한 곳에 저장하십시오. 그렇지 않으면 지갑이 잠기게 되어 당신의 자금에 접근할 수 없게 됩니다.
To encrypt your wallet, click Settings > Encrypt Wallet.
암호문을 입력하고 확인하십시오.
지갑 암호화 과정이 완료되면, 당신은 지갑의 지난 백업을 더이상 사용할 수 없다는 경고문을 받게 됩니다. 또한 대시 코어를 종료하라는 메시지 역시 받게 될 것입니다. 대시 코어를 재시작하면 작은 파란색 자물쇠가 우측 하단 코너에 표시됩니다.
이제 당신은 지갑을 이용하여 자금을 안전하게 보내고 받을 수 있습니다.
윈도우 설치 가이드¶
이 가이드는 윈도우용 대시 코어(Dash Core) 지갑을 다운로드, 인스톨 및 암호화 하는 방법을 기술합니다. 이 가이드는 윈도우 10을 기준으로 작서오디었으나, 아래의 단계는 윈도우 XP, Vista, 7 및 8에서도 유사합니다.
Visit https://www.dash.org/get-dash to download the latest Dash Core wallet. In most cases, the website will properly detect which version you need. Click the blue Dash Core button to download the installer directly.
만일 감지가 제대로 작동하지 않는다면, 당신의 운영 체제 및 32 혹은 64 비트 버전 여부에 맞는 지갑을 수동으로 선택하십시오. 만일 당신의 윈도우가 32 혹은 64 비트 중 어떤 버전인지 확실하지 않다면, 윈도우 10을 기준으로 시작>설정>시스템>정보를 통해 확인하실 수 있습니다. 다른 버전의 윈도우에서 이를 확인하는 방법에 관하여는 이곳을 참조하십시오.
Once you know which version you need, download the Dash Core Installer to your computer from https://www.dash.org/wallets
다운로드 폴더에 다운로드 받은 파일을 저장하세요.
이 단계는 선택적입니다. 그러나 다운로드 받은 파일의 완전성을 검증할 것을 권장합니다. 이는 대시 코어 개발팀이 게재한 SHA256 해시와 지갑을 확인함으로써 완료됩니다. 코어 팀이 게재한 해시를 확인하시려면 지갑 다운로드 페이지에 있는 해시 파일 버튼을 클릭하십시오.
대시 코어 파이로가 해시 파일을 모두 다운로드 받으면, 해시 파일을 텍스트 편집기 혹은 브라우저를 통해 열고, 다운 받은 대시 코어 파일을 위한 해시 밸류를 찾으십시오.
이 해시값은 다운로드 받은 파일의 해시값과 상응해야 합니다. 이는 파일의 진위 여부를 확인하고 혹시 파일이 다운 받는 과정에서 손상되지 않았는지 여부를 확인하기 위한 것입니다. 이를 위해서는 명령 프롬프트를 열어 당신이 파일을 저장한 장소를 확인하고, 다음의 명령을 실행한 다음, 이 버전과 다운로드 받은 파일의 특정 버전을 대체합니다.
certutil -hashfile <dashcore-version-windows>.exe SHA256
만일 이 해시값이 동일하다면, 당신은 확실한 윈도우 버전 대시 코어를 다운 받은 것입니다.
대시 코어를 설치하기 위해 파일을 더블클릭 하십시오.
이 단계에서 당신은 윈도우 스마트스크린(SmartScreens)으로부터 이 응용 프로그랩을 인식할 수 없다는 경고를 받을 지 모릅니다. 이 경우 더 알아보기, 그리고 계속 실행하기를 클릭함으로써 이 경고를 안전하게 통과할 수 있습니다.
그 다음에는 인스톨러가 당신을 설치 과정으로 안내할 것입니다.
다음의 화면에 따라 클릭합니다. 당신이 설정을 변경하기 위한 특정한 이유가 있지 않은 한, 모든 설정은 기본값으로 둘 수 있습니다.
Once installation is complete, Dash Core will start up immediately. If it does not, click Start > Dash Core > Dash Core to start the application. The first time the program is launched, you will be offered a choice of where you want to store your blockchain and wallet data. Choose a location with enough free space, as the blockchain can reach 10GB+ in size. It is recommended to use the default data folder if possible.
이후 대시 코어가 실행될 것입니다. 첫 실행 시에는 다소 긴 시간이 소요되는데, 이는 대시 코어가 당신의 지갑을 안전하게 보호하기 위하여 암호화된 데이터를 생성하기 때문입니다.
대시 코어가 성공적으로 설치 및 시작되는 경우, 당신은 지갑 개요 화면을 보게 될 것입니다. 또한 당신의 지갑이 동기화 되지 않은 상태임을 확인할 수 있으며, 또한 창의 하단 상태 바에서 동기화 진행 상황을 보실 수 있습니다.
이 과정에서 대시 코어는 다른 노드로부터 당신의 기기에 대시 블록체인의 전체 복사본을 다운로드 할 것입니다. 당신의 인터넷 연결 상태에 따라 이 과정은 긴 시간이 소요될 수 있습니다. 만일 당신이 '사용할 수 있는 블록 소스 없음' 메시지를 받는다면, 당신의 인터넷 연결 상황을 확인하십시오. 동기화가 완료되면, 작은 파란색 체크 표시를 볼 수 있을 것입니다.
이제 당신은 당신의 지갑을 이용하여 자금을 보내고 받을 수 있습니다.
당신의 지갑이 대시 네트워크와 동기화를 마치면, 지갑을 암호 혹은 암호문을 통해 암호화 할 것을 강력하게 권장합니다. 이 경우 다른 곳에서 사용한 적 없는 강력하고 새로운 암호를 사용하여야 합니다. 당신의 암호를 별도로 적어 안전한 곳에 저장하십시오. 그렇지 않으면 지갑이 잠기게 되어 스스로의 자금에 접근할 수 없게 됩니다.
지갑을 암호화하기 위해서는 설정>지갑 암호화 를 클릭하십시오.
암호문을 입력하고 확인하십시오.
지갑 암호화 과정이 완료되면, 당신은 지갑의 지난 백업을 더이상 사용할 수 없다는 경고문을 받게 됩니다. 또한 대시 코어를 종료하라는 메시지 역시 받게 될 것입니다. 대시 코어를 재시작하면 우측 하단 코너에서 작은 파란색 자물쇠 표시를 확인하실 수 있습니다.
이제 당신은 지갑을 이용하여 자금을 안전하게 보내고 받을 수 있습니다.
설치 영상 가이드¶
이 비디오에서는 리눅스, 맥OS 및 윈도우 등에서 다운로드하여 체크섬을 확인하고 Dash Core 지갑을 설치하는 방법을 안내합니다. 최신버전은 아니지만 절차는 대체로 동일합니다. 가장 큰 차이점이라면 비디오 상에서 Dash의 웹사이트 주소가 https://www.dashpay.io/ 로 명시되지만, 이는 구 버전이고 현재 Dash의 공식 웹사이트 주소는 https://www.dash.org/ 입니다. 한가지 더, 최신 버전의 Dash Core에서는 블록 체인과 같은 응용 프로그램 데이터가 "Dash"폴더가 아닌 "DashCore"에 저장됩니다.
리눅스에서 DashQT 지갑 설치하기
리눅스에서 DashQT 지갑의 CheckSum 확인하는 방법
맥OS에서 DaashQT 지갑 설치하기
맥OS 용 DashQT 지갑의 CheckSum 확인하는 방법
윈도우즈에서 DashQT 지갑 설치하기
윈도우즈에서 DashQT 지갑의 CheckSum 확인하는 방법
DashQT 지갑 암호화 / 디코드하는 방법
Interface¶
The Dash Core Wallet is an application that runs on your computer and allows you to make transactions on the Dash network. Most transactions are for sending or receiving Dash, but it is also possible to create signed messages or control a masternode, for example. The Dash Core Wallet interface is described in detail in the following sections.
The Main Window¶

The Dash Core Wallet
The Dash Core window is broken up into several areas:
- The menu bar
- The tab bar
- The main area
- The status bar
The tab bar is used to quickly switch between the main areas of the Dash Core. The content in the main area of Dash Core changes depending on which tab you have selected. The following tabs are available:
The overview tab offers quick access to your balance and most recent transactions, as well as the PrivateSend feature and options for coin mixing.

The Dash Core Overview tab
The left part of the main area is divided into two areas. The upper area shows your balances:
- Available
- This shows your current liquid balance. This is the amount of Dash you can spend now.
- Pending
- This shows funds waiting for a transaction to complete.
- Immature
- This shows funds from masternode or mining payments which have not yet reached the required number of confirmations.
- Total
- This is simply your available and pending funds added together.
The lower area shows the status of PrivateSend and allows you to mix your funds using the Dash Masternode Network.
The right part of the screen shows your recent transactions. These are identified by icons as follows:

- Recent incoming transactions appear black, prefixed by a + sign
- Recent outgoing transactions appear red, prefixed by a – sign
- Incoming mining or masternode payments also appear black
For more details on your transaction history, see the Transactions tab.
The Send tab allows you to send funds to another address on the Dash network. It contains fields to enter the recipient’s address, a label for the address, and the amount of Dash you wish to send. Options related to the transaction fee, InstantSend and PrivateSend are also available. A quick view of your total balance is also available in the lower right corner.

The Send tab
The Receive tab allows you to create addresses to receive Dash. You can create a request for a specific amount of Dash or include a specific message, and send it to another user as a link or QR code.

The Receive tab
The transactions tab shows the entire transaction history for all addresses associated with your wallet. This appears as a table showing the time, type, label and amount of Dash for each transaction. You can also export the transaction history as a CSV file by clicking the Export button in the bottom right corner of the window.
The icons in the leftmost column indicate the status of the transaction. A tick indicates that the recommended number of confirmations has been passed, while a clock indicates that the transaction has yet to reach six confirmations.

The transactions tab
The status bar shows a synchronization progress bar and a row of status icons which indicate the status of your connection to the Dash network.
This bar shows the synchronization status of Dash Core with the Dash network. Each time you open Dash Core, it will begin downloading the blocks which have been created on the blockchain in the time since you last opened the app. These blocks are downloaded from other Dash users and masternodes. If you have never opened the app before, this could mean several years’ worth of blocks need downloading. The following statuses are possible:
- No block source available
- This occurs if your internet connection is down, or if the ports required by Dash Core are blocked by a firewall.
- Synchronizing with network
- Dash Core is downloading blocks from the network.
- Synchronizing masternodes/masternode payments/governance objects
- Dash Core is synchronizing other data with the second layer network.
Once synchronization is complete, the progress bar will disappear and a tick will appear on the right of the status bar.

The lock icons indicate the status of your wallet: either locked or unlocked. You need to unlock your wallet to send funds or perform certain other actions.

These icons indicate the quality of your connection to the Dash network. If you cannot connect because of network problems, you will see the icon on the left. More bars indicate more connections to your peers on the network.

These icons show the synchronization status of Dash Core with the network. Once synchronization is complete, the refresh icon will become a blue tick.

These icons indicate whether your wallet is running in hierarchical deterministic (HD) mode or standard mode.
The Options Dialog¶
This documentation describes the functionality of the Dash Core Options dialog, available under the Settings > Options menu in Dash Core.
The Main tab of the Options dialog contains settings related to startup and performance of the Dash Core app.
- Start Dash Core on system login
- This option causes Dash Core to start automatically when the current user logs in. On most computers there is only one main user account which is logged in automatically when the computer turns on, so this option is effectively the same as starting Dash Core together with the operating system.
- Size of database cache
- This option specifies the size of the database cache in memory. A higher value will result in increased performance when adding new blocks at the cost of higher memory usage. The default value is 100MB and it should not be set lower than this level.
- Number of script verification threads
- This option sets the number of script verification threads, ranging from -4 to 16. Script verification is the process of following instructions recorded in the blockchain to ensure the transactions are valid. 0 means automatic and will allow script verification to scale to the number of cores available on your processor. Setting a positive number specifies that Dash Core should use that number of processor cores, while setting a negative number will leave that number of processor cores free.
The Wallet tab of the Options dialog contains settings related to how addresses are managed in the Dash Core app. The first time you run Dash Core, it will generate a new wallet containing 1000 unique Dash addresses. This tab allows you to configure how these addresses are used as inputs with the Coin Control, PrivateSend and Masternode features.
- Enable coin control features
- Your Dash Core wallet balance is actually the sum total of all addresses holding balance that are associated with your wallet. When you spend Dash, Dash Core will withdraw from as many inputs as necessary to make up the desired amount of Dash to be transferred. This behavior may be undesirable if you want to keep a certain balance on one address. The most common use case is the requirement to maintain 1000 Dash on a single address as collateral for a masternode. Enabling this option will add a button labelled Inputs on the Send tab. This provides access to the Coin selection dialog, which can be used to lock, unlock and prioritize different addresses in your wallet. See here for a more detailed explanation of Coin Control.
- Show Masternodes tab
- Enabling this option causes Dash Core to display an additional Masternodes tab to the right of the Transactions tab. This option requires you to restart the Dash Core app. The Masternodes tab can be used to manage interactions (start, stop, check status, etc.) with masternodes controlled by this wallet. This tab is an advanced feature not required by users that do not operate a masternode on the Dash network.
- Enable advanced PrivateSend interface
- Enabling this option changes the PrivateSend mixing interface on the Overview tab of the Dash Core wallet to include more options, such as Try Mix and percentage completion. See here for a full explanation of how to use PrivateSend.
- Warn if PrivateSend is running out of keys
- Enabling this option will cause Dash Core to display a warning when your original set of 1000 addresses is running out, which may affect PrivateSend mixing. Every time a mixing event happens, up to 9 of your addresses are used up. This means those 1000 addresses last for about 100 mixing events. When 900 of them are used, your wallet must create more addresses. It can only do this, however, if you have automatic backups enabled. Consequently, users who have backups disabled will also have PrivateSend disabled.
- Enable PrivateSend multi-session
- Normally PrivateSend mixing is completed in several consecutive rounds, each using a single masternode. Enabling this option allows multi-session, which means you can use multiple masternode servers at the same time, greatly increasing the speed of the mixing process at the cost of creating more addresses and thus requiring more frequent wallet backups. This feature is experimental as of Dash Core 12.1.5.
- Spend unconfirmed change
- When this option is enabled, the Dash Core wallet permits you to immediately spend change from previous transactions that has been transferred internally between addresses associated with the same wallet. This is possible even if the transaction has not yet been confirmed because the wallet knows it will eventually be confirmed since it created the internal transaction itself. Leaving this option enabled allows you to create new transactions even if previous transactions have not yet been confirmed.
- PrivateSend rounds to use
- Use this option to control the number of rounds of PrivateSend mixing to be carried out for your chosen balance. Each round of mixing uses a new masternode. The higher the number of rounds, the more difficult it becomes to trace the Dash to its original address. This is at the expense of more time required for mixing and potentially higher fees. See here for a full explanation of how to use PrivateSend.
- Amount of Dash to keep anonymized
- This option allows you to specify how much Dash should be kept on balance in a ready-to-use anonymized state, meaning it has already passed through the PrivateSend mixing process. If you do not have sufficient Dash available in your balance of unlocked inputs, the amount will be automatically reduced to the available balance and shown in red in the PrivateSend interface on the Overview tab.
This tab includes options related to how your connection to the Dash network is made.
- Map port using UPnP
- This option causes Dash Core to automatically attempt to open and map the client port on your router using UPnP (Universal Plug and Play). This feature is supported by most modern home routers and will allow you to connect to the Dash network without making any special settings on your router.
- Allow incoming connections
- This option causes your client to accept external connections. Since Dash is a peer-to-peer network and Dash Core is considered a full client because it stores a copy of the blockchain on your device, enabling this option helps other clients synchronize the blockchain and network through your node.
- Connect through SOCKS5 proxy (default proxy)
- These options allow users on an intranet requiring a proxy to reach the broader internet to specify the address of their proxy server to relay requests to the internet. Contact your system administrator or check out the network settings in your web browser if you are unable to connect and suspect a proxy may be the source of the problem.
- Use separate SOCKS5 proxy to reach peers via Tor hidden services
- These options allow you to specify an additional proxy server designed to help you connect to peers on the Tor network. This is an advanced option for increased privacy and requires a Tor proxy on your network. For more information about Tor, see here.
This option contains options governing behavior of the Dash Core app window under Microsoft Windows.
- Hide tray icon
- When this option is enabled, Dash Core will not display an icon in the system tray. This option cannot be selected at the same time as Minimize to the tray instead of the taskbar.
- Minimize to the tray instead of the taskbar
- When this option is enabled and the Dash Core window is minimized, it will no longer appear in your taskbar as a running task. Instead, Dash Core will keep running in the background and can be re-opened from the Dash icon in the system tray (the area next to your system clock). This option cannot be selected at the same time as Hide tray icon.
- Minimize on close
- When this option is enabled, clicking the X button in the top right corner of the window will cause Dash Core to minimize rather than close. To completely close the app, select File > Exit.
This tab contains options relating to the appearance of the Dash Core app window.
- User interface language
- Select your preferred language from this drop-down menu. Changing the language requires you to restart the Dash Core app.
- User interface theme
- You can use this option to select a different theme governing the appearance of the Dash Core window. All functionality is identical under the different themes, although the default Dash-light theme is most recent and most likely to work without any display artifacts.
- Unit to show amounts in
- This allows you to change the default unit of currency in Dash Core from DASH to mDASH, µDASH or duffs. Each unit shifts the decimal separator three places to the right. Duffs are the smallest unit into which Dash may be separated.
- Decimal digits
- This option allows you to select how many decimal digits will be displayed in the user interface. This does not affect internal accounting of your inputs and balance.
- Third party transaction URLs
- This option allows you to specify and external website to inspect a particular address or transaction on the blockchain. Several blockchain explorers are available for this. To use this feature, enter the URL of your favorite blockchain explorer, replacing the %s with the transaction ID. You will then be able to access this blockchain explorer directly from Dash Core using the context menu of any given transaction.
The Tools Dialog¶
This documentation describes the functionality of the Dash Core Tools dialog, available under the Tools menu in Dash Core.
- General
- This section displays information on the name and version of the client and database, and the location of the current application data directory.
- 네트워크
- This section displays information and statistics on the network to which you are connected.
- Block chain
- This section shows the current status of the blockchain.
- Memory pool
- This section shows the status of the memory pool, which contains transactions that could not yet be written to a block. This includes both transactions created since the last block and transactions which could not be entered in the last block because it was full.
- Open debug log file
- This button opens debug.log from the application data directory. This file contains output from Dash Core which may help to diagnose errors.
The Console tab provides an interface with the Dash Core RPC (remote
procedure call) console. This is equivalent to the dash-cli
command
on headless versions of Dash, such as dashd
running on a masternode.
Click the red –
icon to clear the console, and see the detailed
documentation on RPC commands to learn about the possible commands you can
issue.
The Network Traffic tab shows a graph of traffic sent and received to peers on the network over time. You can adjust the time period using the slider or Clear the graph.
The Peers tab shows a list of other full nodes connected to your Dash Core client. The IP address, version and ping time are visible. Selecting a peer shows additional information on the data exchanged with that peer.
The Wallet Repair tab offers a range of startup commands to restore a wallet to a functional state. Selecting any of these commands will restart Dash Core with the specified command-line option.
- Salvage wallet
- Salvage wallet assumes wallet.dat is corrupted and cannot be read. It makes a copy of wallet.dat to wallet.<date>.bak and scans it to attempt to recover any private keys. Check your debug.log file after running salvage wallet and look for lines beginning with "Salvage" for more information on operations completed.
- Rescan blockchain files
- Rescans the already downloaded blockchain for any transactions affecting accounts contained in the wallet. This may be necessary if you replace your wallet.dat file with a different wallet or a backup - the wallet logic will not know about these transactions, so a rescan is necessary to determine balances.
- Recover transactions
- The recover transactions commands can be used to remove unconfirmed transactions from the memory pool. Your wallet will restart and rescan the blockchain, recovering existing transactions and removing unconfirmed transactions. Transactions may become stuck in an unconfirmed state if there is a conflict in protocol versions on the network during PrivateSend mixing, for example, or if a transaction is sent with insufficient fees when blocks are full.
- Upgrade wallet format
- This command is available for very old wallets where an upgrade to the
wallet version is required in addition to an update to the wallet
software. You can view your current wallet version by running the
getwalletinfo
command in the console. - Rebuild index
- Discards the current blockchain and chainstate indexes (the database of unspent transaction outputs) and rebuilds it from existing block files. This can be useful to recover missing or stuck balances.
Sending and receiving¶
Your Dash Core Wallet is associated with a number of unique addresses that can be used to send and receive Dash. Each address holds its own balance, and the sum of all your balances is what appears on the Overview tab. When you send Dash, your wallet will automatically transfer funds from as many of your addresses as necessary to the destination address, which is controlled by another Dash user and associated with their wallet. You can control which addresses you use using the Coin Control feature.
When you confirm a transaction, Dash Core will enter the transaction in a block, which will then be added to the blockchain for other clients to confirm. A transaction is generally considered confirmed once six blocks have been added after the block containing your transaction, although masternode and mining payments are only released after 101 blocks. Note that a different process is used for InstantSend and PrivateSend transactions.
Dash addresses are 34 characters long and begin with an uppercase X.
Sending Dash¶
You can use Dash Core to send Dash from your balance to another user. The receiving user will provide you with a Dash address to which you should send the funds. Click the Send tab in the tab bar and enter the destination address in the Pay To field.
You can also use the three icons to the right of the Pay
To field to select a previously used address, paste an address from
the clipboard, or clear the current address. If this is a new address,
you can enter a name for the address in the Label field to help
identify it again later. Finally, enter the amount of Dash you want to
transfer in the Amount field.
The other options relate to fees and PrivateSend/InstantSend. You can choose if you want to pay the network fee in addition to the amount sent, or subtract it from the amount sent. You can also increase your fee to encourage nodes on the network to prioritize your transaction. Choosing InstantSend has a similar effect, but actually relies on a different mechanism in the second layer network to speed up the transaction time. Choosing PrivateSend will send Dash from an address that has previously been mixed. You can find out more about PrivateSend and InstantSend here.
Let’s try an example. Say you have received an invoice which you now want to pay with Dash. The writer of the invoice has included a Dash address, which can be seen in the following window beginning with Xpa. The invoice is for 2.45 Dash, which you fill in the Amount field.
Once you have entered the destination address and the amount, click the Send button. If you have encrypted your wallet, you will now be required to enter your password to unlock the wallet.
Finally, you are given one final confirmation and chance to cancel your send transaction before Dash Core processes the transaction on the blockchain.
If you respond with Yes, your transaction will be processed. Your operating system may display a notification, and the transaction will appear on the Transactions tab, where you can monitor its progress.
Note that the amount of the transaction increased by .000045 Dash. This is the transaction fee. In the next section, we will see what this procedure looks like from the receiving side.
Receiving Dash¶
To receive Dash, you must first create a receiving address to give to the sending party. To do this, click File > Receiving addresses. The Receiving addresses window appears.
Either copy an existing address by clicking on the address and then the Copy button, or create a new address by clicking the New button. You can also edit an existing address by right clicking and selecting Edit address from the context menu. Give this address to the person who will send you Dash. Your wallet does not need to be open to receive funds, but if it is, you can watch the transaction arrive in real time. This is because your wallet constantly watches for new blocks on the blockchain when it is open, and will recognize a new transaction involving your receiving address when it occurs.
Once you have been paid, you can see the balance both on the Overview tab and on the Transactions tab.
How to Create New Receiving Addresses in DashQT
PrivateSend and InstantSend¶
프라이빗샌드¶
This documentation describes how to use Dash Core to send Dash anonymously. PrivateSend, released as DarkSend in RC4 of the DarkCoin client and rebranded to PrivateSend in May 2016, is a trustless method of running a sequence of transactions (known as "mixing") such that an external observer is unable to determine the source of funding when a PrivateSend transaction is created. This gives your Dash the same anonymous properties as cash withdrawn from an ATM, for example. The mixing and denomination process is seamless, automatic, and requires no intervention on the part of the user. The current implementation of PrivateSend in the Dash Core wallet allows any amount of Dash to be mixed for later use in PrivateSend transactions. As of December 2018, PrivateSend is not currently available in other Dash wallets.
Knowledge of the exact number of rounds of PrivateSend mixing used in any given PrivateSend transaction has a quantifiable effect on the confidence an adversary may have when attempting to guess the source of a PrivateSend transaction. For this reason, the recommended (and default) number of rounds of PrivateSend mixing is set to four.
You can read more about PrivateSend theory and processes here.
Open your Dash Core wallet, go to Settings and select Options. Go to the Wallet tab.
Next to PrivateSend rounds to use, enter a value between 1-16. Each round of PrivateSend performs one denominated fund mixing transaction. Higher numbers of rounds increase your overall level of anonymity while decreasing the chance of detection via node collusion. 16 is the highest number of rounds currently available.
NOTE: To prevent system abuse, an average of one in ten rounds of masternode mixing incurs a fee of .0001 DASH.
Enter a target value for Amount of Dash to keep anonymized. This value provides a lower boundary on the final amount of funds to be anonymized. Depending on how the client splits your wallet balance, you may end up with denominated inputs whose sum total is greater than the target amount. In this case the client will use all existing denominated inputs in the PrivateSend process. The final anonymized amount may be higher than your target, but should be close.
Click OK to save settings.
PrivateSend is disabled by default when you open the wallet. It will only start after you set the number of rounds and number of Dash to mix under settings and click Start Mixing on the Overview tab of your wallet.
The PrivateSend process is initiated by clicking the Start Mixing button on the Overview tab of the Dash Core wallet. Mixing is possible once the following conditions have been met:
- The wallet contains sufficient non-anonymized funds to create the minimum required denominated values
- The user has not disabled PrivateSend in the Options dialog
- The target value for anonymized Funds in the Options dialog is greater than zero
If your wallet is encrypted (highly recommended), you will be asked to enter your wallet passphrase. Enable the Only for mixing via PrivateSend checkbox to unlock the wallet for mixing only.
This will unlock your wallet, and the PrivateSend mixing process will begin. The wallet will remain unlocked until PrivateSend mixing is complete, at which point it will be locked automatically.
PrivateSend will begin creating transactions and your PrivateSend balance will gradually increase. This process can take some time, so be patient. You can monitor the process in more detail as described in the following section.
Any of the following actions will interrupt the mixing process. Because the transactions are atomic (they either take place completely, or do not take place at all), it should be possible to safely interrupt PrivateSend mixing at any time.
- Clicking the Stop Mixing button on the Overview tab
- Closing the client before PrivateSend mixing is completed
- Sending PrivateSend funds from the wallet before PrivateSend rounds are completed
- Disabling PrivateSend before the process is complete
If you want to monitor PrivateSend in more detail, you need to enable some advanced features of the wallet. Go to Settings, select Options and go to the Wallet tab. Check the boxes next to the Enable coin control features and Enable advanced PrivateSend interface options.
This will allow you to monitor progress and see which individual operations PrivateSend is carrying out in the background.
Since PrivateSend mixing creates a lot of new address keys to send and receive the anonymized denominations, you may receive a warning when the number of remaining keys runs low. This is nothing to be worried about, since the wallet will simply create more keys as necessary. However, these keys will not exist in any previous backups of your wallet. For this reason, it is important to backup your wallet again after mixing is complete.
You can also monitor PrivateSend progress by viewing the transactions created by the mixing process on the Transactions tab.
The following table describes the PrivateSend-related transactions displayed in the Type column of the Transactions tab:
PrivateSend Transaction Type | Transaction Description |
---|---|
PrivateSend Make Collateral Inputs (Mixing) | Wallet funds were moved to collateral inputs that will be used to make collateral payments. This is done to minimize traceability of collaterals. |
PrivateSend Create Denominations (Mixing) | Wallet funds were broken into PrivateSend denominations (Step 1 here) |
PrivateSend Denominate (Mixing) | A transaction was sent to a masternode in order to participate in a mixing session (Step 3 here) |
PrivateSend Collateral Payment (Mixing) | The mixing session collateral was claimed. This fee is charged in ~10% of mixing sessions to prevent spam attacks. |
PrivateSend (Spending) | Mixed funds were used to send a payment to someone. Note: Unlike the previous 4 transaction types, this is not a mixing process transaction. |
You can also use the coin control feature to view which addresses hold mixed denominations ready to be used for PrivateSend transactions. Go to the Send tab of your wallet and click Inputs to view the possible input addresses for your transactions. You can see how each address holds given denominations of mixed Dash, and how many rounds of mixing have been completed. This is to ensure that an efficient combination of addresses can be used as inputs in PrivateSend transactions without too much change, since amount in a PrivateSend transaction must be rounded up to completely spend all inputs. The current minimum balance for an input used in a PrivateSend transaction is 0.00100010 DASH.
You can only use PrivateSend for payments once you have mixed enough Dash to make up the amount you are trying to send. Because the mixing process takes time, it must be done in advance before you create the send transaction. A PrivateSend transaction is effectively the same as any other transaction on the blockchain, but it draws only from input addresses where the denomination has previously been mixed to ensure anonymity of funds. Because several input addresses are usually required to make up the amount you are trying to send, a PrivateSend transaction will usually take up more space (in kilobytes) on the blockchain, and therefore will be charged a slightly higher fee.
To send a payment using PrivateSend, go to the Send tab of the Dash Core wallet and enable the PrivateSend option. The balance displayed will change to show your PrivateSend balance instead of the total balance. You can then enter the Pay To address, Label, Amount and click Send as usual. Your payment will be rounded up to completely spend the lowest possible denomination of mixed balance available (currently to the nearest 0.001 DASH). You will be prompted to enter your password and receive a detailed breakdown of the fee structure for PrivateSend before sending.
인스턴트샌드¶
This documentation describes how to use InstantSend to instantly send funds to any other Dash user around the world. Dash InstantSend is supported by many wallets and vendors, including (but not limited to) the following:
- Dash Core 지갑
- Dash 안드로이드 지갑
- Dash iOS 지갑
- 나의 Dash 지갑
- Kraken
- Bitrefill
- and many more...
You can read more about InstantSend theory and processes here.
InstantSend functions by setting a flag on the transaction, causing deterministic selection of a quorum of 10 masternodes for each input spent in an InstantSend transaction. The masternodes examine the input, and if a majority determines it has at least six confirmations, they then accept the transaction. The input is then locked until the transaction has been confirmed in six mined blocks, at which point the output can be used as an input in another InstantSend transaction. This differs from inputs used in normal transactions, which can be spent after just one confirmation regardless of whether the Dash was received using InstantSend or not. A higher fee will be charged for InstantSend transactions with more than four inputs, according to the fee schedule. Note that the receiving wallet must also be aware of InstantSend in order to be able to immediately continue with the transaction or display an appropriate notification that the transaction should be considered locked. If the receiving wallet is not aware of InstantSend, it will simply appear as a normal transaction and you will need to wait for standard block confirmations.
To pay with InstantSend, simply check the relevant checkbox in your app. The following screenshots indicate where this setting can be found in the Dash Core, iOS and Android wallets.


지갑 백업 및 복구¶
백업하기¶
이번에는 컴퓨터나 노트북이 손상되었거나 정보가 손실된 경우를 대비해 지갑 파일을 안전하게 백업하는 방법에 대해 설명해드리겠습니다. Dash 코어는 Dash 주소를 제어하는데 필요한 모든 데이터를 wallet.dat 이라는 단일 파일에 저장합니다. 이 지갑은 Berkeley DB형식이며 Dash 블록 체인에 계좌 내역을 관리하는데 사용되는 프라이빗/공개 암호화 키를 한 쌍 단위로 저장합니다. Dash 코어는 이러한 작업의 대부분을 투명하게 만들고, 손상될 경우를 대비하여 지갑 파일의 자동 백업을 생성하지만 사용자는 이러한 백업이 늘 안전한 장소에 저장되도록 해야 할 책임이 있습니다. 지갑 파일에 액세스 할 수 없으면 Dash에 대한 액세스 권한이 영구적으로 손실됩니다.
설정 > 지갑 암호화 메뉴 항목을 사용하여 당신의 지갑을 암호화하지 않으면, 백업된 wallet.dat 파일에 대한 액세스 권한이 있는 사용자 누구나 그 즉시 당신의 Dash에 액세스 권한을 갖게 됨을 명심하십시오. Wallet을 암호화하도록 선택하는 경우 wallet.dat 파일과 동일한 위치에 암호를 저장하지 마십시오. 특히 클라우드에 백업을 저장하는 경우 더욱 그렇습니다.
먼저, Dash Core가 열려있을 때는 절대 wallet.dat 파일을 복사하지 마십시오. 지갑이 열려 있을 때는 항상 파일 > 지갑 백업하기 메뉴를 사용하십시오. 이 메뉴 항목을 선택하면 파일을 저장할 위치를 지정하는 대화 상자가 나타납니다. 파일 이름을 입력하고 위치를 선택한 다음 저장 을 클릭하십시오. 다음 예는 파일을 USB 플래시 드라이브에 저장하는 방법입니다. 그리고 이 파일은 컴퓨터와 떨어진 곳에 보관하십시오.

Dash Core가 실행 중이 아닌 경우 에는, wallet.dat 파일을 다른 위치로 복사하여 지갑을 백업 할 수도 있습니다. 이 파일은 DashCore 데이터 폴더에 저장됩니다. 폴더 위치는 지정 가능하나 기본적으로 이 폴더는 다른 운영 체제의 다음 위치에 있습니다.
윈도우즈 용
C:\Users\YourUserName\Appdata\Roaming\DashCore
Windows Key + R 로 폴더에 직접 액세스 가능하며,
%APPDATA%\DashCore
를 직접 입력해도 액세스 가능합니다.리눅스 용
/home/YourUserName/.dashcore
파일에서 Go > Enter Location... 메뉴 항목을 사용하여 터미널에서
cd ~/.dashcore
를 입력하거나 경로 표시바에~/.dashcore
를 입력하여 이 폴더에 직접 액세스할 수 있습니다.맥OS 용
/Users/YourUserName/Library/Application Support/DashCore
터미널에서
cd ~/Library/Application Support/DashCore
를 입력하거나 찾기에서 Go > Go To Folder 메뉴 항목의 대화 상자에서~/Library/Application Support/DashCore
를 입력하면 폴더에 액세스 할 수 있습니다.
Dash Core가 실행되고 있지 않은지 확인한 다음, 폴더에서 wallet.dat 파일을 다른 폴더에 복사하기 하면 됩니다. 다음은 Windows 시스템에서 Ctrl 을 누른 상태에서 간단한 드래그 앤 드롭을 사용하여 파일을 USB 플래시 드라이브에 복사하는 것을 설명하는 예입니다. 대부분의 운영 체제에서는 파일을 마우스 오른쪽 단추로 클릭하고 복사 를 선택한 다음 대상 폴더에서 붙여넣기 를 선택할 수 있습니다. 이 파일은 컴퓨터와 물리적으로 분리된 위치에 보관하십시오. 파일을 (이동시키는 것이 아니라) 복사하는 것이라는 것을 잊지 마십시오!
Dash Core를 열 때마다 dashcore / backups 폴더에 wallet.dat 의 백업 복사본이 자동으로 생성됩니다. 최대 10개의 백업파일이 저장되며 추가로 새로 백업시 가장 이전에 작업한 백업파일이 삭제됩니다. 커맨드라인이나 dash.conf 에서 -createwalletbackups = n
매개 변수를 사용하여 보관 된 백업 수를 수정할 수 있습니다. 이 값을 0 으로 설정하면 백업이 완전히 비활성화됩니다.
자동으로 백업된 폴더는 wallet.dat 에 지정된 DashCore 폴더에서 확인가능하고, 백업 폴더를 열거나 Dash Core의 메뉴에서 도구> 자동 백업 표시 를 선택해서도 자동 백업 폴더를 볼 수 있습니다. Dash Core가 실행 중일 때는 이러한 파일이 활성화되어 있지 않으므로 언제든지 안전하게 복사할 수 있습니다. Dash Core 폴더의 원본 파일이 Dash Core 앱의 부적절한 종료로 인해 손상된 경우 편리한 백업입니다.
복구하기¶
백업을 복원하려면, 타겟 시스템에 Dash Core를 설치 (또는 이미 설치되어있는 경우 중지)하고 DashCore 폴더에서 기존 wallet.dat 파일의 이름을 바꿉니다.
그런 다음 백업 지갑 파일을 DashCore 폴더에 복사하고 이름이 wallet.dat 인지 확인하십시오. 이제 Dash Core를 다시 시작하면 새 지갑이 로드됩니다. Dash Core가 실행중일 때는 wallet.dat 를 바꾸지 마십시오. 데이터가 손상 될 수 있습니다!

백업 스토리지 고려사항¶
모든 백업은 미래의 어느 시점에서 데이터를 읽을 수 있는 소프트웨어의 존재에 따라 좌우됩니다. 따라서 백업을 생성하는 데 사용된 소프트웨어 복사본을 백업 파일과 함께 저장하는 것이 좋습니다. 이 경우는 백업을 만드는 데 사용했던 Dash Core 버전의 복사본이됩니다.
wallet.dat 파일 자체는 설정> 지갑 암호화하기 메뉴 항목에서 설정된 비밀번호를 사용하여 암호화해야합니다. 그러나 이는 파일 액세스 권한이있는 사람이 파일을 열지 않고 트랜잭션을 생성하는 것만을 방지합니다. 윈도우즈에서는 BitLocker ,리눅스는 LUKS 또는 맥OS의 FileVault 에서 USB 플래시디스크와 같은 암호화 된 별도 컨테이너에 파일을 추가로 저장할 수 있습니다. 또 디스크 이미지 또는 zip 파일 을 비밀번호를 사용하여 암호화할 수도 있습니다. 암호화 된 컨테이너에 대한 자세한 내용은 여기 을 참조하십시오.
이 파일은 집, 은행의 안전금고, 방수 또는 내화 용기 또는 Google 드라이브, Dropbox 또는 iCloud와 같은 클라우드 저장소 등 원하는 곳 어디든 저장 가능합니다. 지갑에 대한 액세스를 복원하는 데 필요한 암호(예 : 머릿속, 수첩, 암호 관리자 등)를 저장할 위치와 접근 가능한 대상을 기억해두십시오.
마지막으로 wallet.dat 자체는 많은 양의 자금을 저장하기에 상대적으로 위험한 방법임을 알고 계셔야합니다. 이는 단순히 개인 키를 저장하는 데이터베이스 파일입니다. 지갑 파일을 직접 저장할 수 있는 편리함은 소규모 소지품의 경우에도 유용하지만, 많은 양의 Dash를 저장하려면 사전에 정의된 특정 프로토콜이 아닌 프로토콜을 지원하는 소프트웨어를 통해 액세스가 보장되는 방식으로 미리 정의 된 단일 주소에 저장하는 편이 더 안전합니다. 프로토콜 구현에 관심이 있으시다면 개인 키를 직접 인쇄하거나 안전한 보관을 위해 BIP38을 사용하여 암호화 할 수있는 종이 지갑에 대해 자세히 읽어보시길 바랍니다.
백업 확인하기¶
백업을 확인하는 데 고정된 절차는 없지만 작동을 확인하기 위해 적어도 한 번은 복원하기를 테스트하기를 권장합니다. 파일의 요약 복사본이있는 경우 현재의 DashCore 폴더로 복원하고, Dash Core를 시작하여 오류없이 열 수 있도록 하십시오. 파일을 암호화 된 zip 파일에 저장하기로 결정했다면 압축을 풀 수 있고 Dash Core에서 올바르게 열 수 있는지 확인하십시오. , 이론적으로 복원가능한 과정이라는 사실에 의존한 나머지 관과할 것이 아니라 본인(혹은 당신 대신 이 과정을 진행할 수 있다고 신뢰하는 사람)이 Dash에 액세스 할 수 있도록 백업 프로세스를 실제로 되돌릴 수 있는지 확인하십시오.
Arguments and commands¶
All command-line options (except for -datadir
and -conf
) may be
specified in a configuration file, and all configuration file options
may also be specified on the command line. Command-line options override
values set in the configuration file. The configuration file is a list
of setting=value
pairs, one per line, with optional comments
starting with the #
character.
The configuration file is not automatically created; you can create it
using your favorite plain-text editor. By default, dash-qt (or dashd)
will look for a file named dash.conf
in the dash data directory, but
both the data directory and the configuration file path may be changed
using the -datadir and -conf command-line arguments.
Platform | Path to data folder | Typical path to configuration file |
---|---|---|
Linux | ~/ | /home/username/.dashcore/dash.conf |
macOS | ~/Library/Application Support/ | /Users/username/Library/Application Support/DashCore/dash.conf |
Windows | %APPDATA% | (Vista-10) C:\Users\username\AppData\Roaming\DashCore\dash.conf (2000-XP) C:\Documents and Settings\username\Application Data\DashCore\dash.conf |
Note: if running Dash in testnet mode, the sub-folder testnet3
will
be appended to the data directory automatically.
Command line arguments¶
These commands are accurate as of Dash Core version 0.13.0.0.
Dash Core Daemon
- dashd [options]
- Start Dash Core Daemon
--help | Print this help message and exit |
--version | Print version and exit |
--alerts | Receive and display P2P network alerts (default: 1) |
--alertnotify=<cmd> | |
Execute command when a relevant alert is received or we see a really long fork (%s in cmd is replaced by message) | |
--blocknotify=<cmd> | |
Execute command when the best block changes (%s in cmd is replaced by block hash) | |
--assumevalid=<hex> | |
If this block is in the chain assume that it and its ancestors are valid and potentially skip their script verification (0 to verify all, default: 00000000000000b4181bbbdddbae464ce11fede5d0292fb63fdede1e7c8ab21c, testnet: 00000ce22113f3eb8636e225d6a1691e132fdd587aed993e1bc9b07a0235eea4) | |
--conf=<file> | Specify configuration file (default: dash.conf) |
--daemon | Run in the background as a daemon and accept commands |
--datadir=<dir> | |
Specify data directory | |
--dbcache=<n> | Set database cache size in megabytes (4 to 16384, default: 100) |
--loadblock=<file> | |
Imports blocks from external blk000??.dat file on startup | |
--maxorphantx=<n> | |
Keep at most <n> unconnectable transactions in memory (default: 100) | |
--maxmempool=<n> | |
Keep the transaction memory pool below <n> megabytes (default: 300) | |
--mempoolexpiry=<n> | |
Do not keep transactions in the mempool longer than <n> hours (default: 72) | |
--blockreconstructionextratxn=<n> | |
Extra transactions to keep in memory for compact block reconstructions (default: 100) | |
--par=<n> | Set the number of script verification threads (-1 to 16, 0 = auto, <0 = leave that many cores free, default: 0) |
--pid=<file> | Specify pid file (default: dashd.pid) |
--prune=<n> | Reduce storage requirements by enabling pruning (deleting) of old blocks. This allows the pruneblockchain RPC to be called to delete specific blocks, and enables automatic pruning of old blocks if a target size in MiB is provided. This mode is incompatible with -txindex and -rescan. Warning: Reverting this setting requires re-downloading the entire blockchain. (default: 0 = disable pruning blocks, 1 = allow manual pruning via RPC, >945 = automatically prune block files to stay under the specified target size in MiB) |
--reindex-chainstate | |
Rebuild chain state from the currently indexed blocks | |
--reindex | Rebuild chain state and block index from the blk*.dat files on disk |
--sysperms | Create new files with system default permissions, instead of umask 077 (only effective with disabled wallet functionality) |
--txindex | Maintain a full transaction index, used by the getrawtransaction rpc call (default: 1) |
--addressindex | Maintain a full address index, used to query for the balance, txids and unspent outputs for addresses (default: 0) |
--timestampindex | |
Maintain a timestamp index for block hashes, used to query blocks hashes by a range of timestamps (default: 0) | |
--spentindex | Maintain a full spent index, used to query the spending txid and input index for an outpoint (default: 0) |
--addnode=<ip> | Add a node to connect to and attempt to keep the connection open |
--allowprivatenet | |
Allow RFC1918 addresses to be relayed and connected to (default: 0) | |
--banscore=<n> | Threshold for disconnecting misbehaving peers (default: 100) |
--bantime=<n> | Number of seconds to keep misbehaving peers from reconnecting (default: 86400) |
--bind=<addr> | Bind to given address and always listen on it. Use [host]:port notation for IPv6 |
--connect=<ip> | Connect only to the specified node(s); -noconnect or -connect=0 alone to disable automatic connections |
--discover | Discover own IP addresses (default: 1 when listening and no -externalip or -proxy) |
--dns | Allow DNS lookups for -addnode, -seednode and -connect (default: 1) |
--dnsseed | Query for peer addresses via DNS lookup, if low on addresses (default: 1 unless -connect/-noconnect) |
--externalip=<ip> | |
Specify your own public address | |
--forcednsseed | Always query for peer addresses via DNS lookup (default: 0) |
--listen | Accept connections from outside (default: 1 if no -proxy or -connect) |
--listenonion | Automatically create Tor hidden service (default: 1) |
--maxconnections=<n> | |
Maintain at most <n> connections to peers (temporary service connections excluded) (default: 125) | |
--maxreceivebuffer=<n> | |
Maximum per-connection receive buffer, <n>*1000 bytes (default: 5000) | |
--maxsendbuffer=<n> | |
Maximum per-connection send buffer, <n>*1000 bytes (default: 1000) | |
--maxtimeadjustment | |
Maximum allowed median peer time offset adjustment. Local perspective of time may be influenced by peers forward or backward by this amount. (default: 4200 seconds) | |
--onion=<ip:port> | |
Use separate SOCKS5 proxy to reach peers via Tor hidden services (default: -proxy) | |
--onlynet=<net> | |
Only connect to nodes in network <net> (ipv4, ipv6 or onion) | |
--permitbaremultisig | |
Relay non-P2SH multisig (default: 1) | |
--peerbloomfilters | |
Support filtering of blocks and transaction with bloom filters (default: 1) | |
--port=<port> | Listen for connections on <port> (default: 9999 or testnet: 19999) |
--proxy=<ip:port> | |
Connect through SOCKS5 proxy | |
--proxyrandomize | |
Randomize credentials for every proxy connection. This enables Tor stream isolation (default: 1) | |
--seednode=<ip> | |
Connect to a node to retrieve peer addresses, and disconnect | |
--timeout=<n> | Specify connection timeout in milliseconds (minimum: 1, default: 5000) |
--torcontrol=<ip:port> | |
Tor control port to use if onion listening enabled (default: 127.0.0.1:9051) | |
--torpassword=<pass> | |
Tor control port password (default: empty) | |
--upnp | Use UPnP to map the listening port (default: 0) |
--whitebind=<addr> | |
Bind to given address and whitelist peers connecting to it. Use [host]:port notation for IPv6 | |
--whitelist=<IP address or network> | |
Whitelist peers connecting from the given IP address (e.g. 1.2.3.4) or CIDR notated network (e.g. 1.2.3.0/24). Can be specified multiple times. | |
--whitelistrelay | |
Accept relayed transactions received from whitelisted peers even when not relaying transactions (default: 1) | |
--whitelistforcerelay | |
Force relay of transactions from whitelisted peers even if they violate local relay policy (default: 1) | |
--maxuploadtarget=<n> | |
Tries to keep outbound traffic under the given target (in MiB per 24h), 0 = no limit (default: 0) |
--disablewallet | |
Do not load the wallet and disable wallet RPC calls | |
--keypool=<n> | Set key pool size to <n> (default: 1000) |
--fallbackfee=<amt> | |
A fee rate (in DASH/kB) that will be used when fee estimation has insufficient data (default: 0.00001) | |
--mintxfee=<amt> | |
Fees (in DASH/kB) smaller than this are considered zero fee for transaction creation (default: 0.00001) | |
--paytxfee=<amt> | |
Fee (in DASH/kB) to add to transactions you send (default: 0.00) | |
--rescan | Rescan the block chain for missing wallet transactions on startup |
--salvagewallet | |
Attempt to recover private keys from a corrupt wallet on startup | |
--spendzeroconfchange | |
Spend unconfirmed change when sending transactions (default: 1) | |
--txconfirmtarget=<n> | |
If paytxfee is not set, include enough fee so transactions begin confirmation on average within n blocks (default: 6) | |
--usehd | Use hierarchical deterministic key generation (HD) after BIP39/BIP44. Only has effect during wallet creation/first start (default: 0) |
--mnemonic | User defined mnemonic for HD wallet (BIP39). Only has effect during wallet creation/first start (default: randomly generated) |
--mnemonicpassphrase | |
User defined mnemonic passphrase for HD wallet (BIP39). Only has effect during wallet creation/first start (default: empty string) | |
--hdseed | User defined seed for HD wallet (should be in hex). Only has effect during wallet creation/first start (default: randomly generated) |
--upgradewallet | |
Upgrade wallet to latest format on startup | |
--wallet=<file> | |
Specify wallet file (within data directory) (default: wallet.dat) | |
--walletbroadcast | |
Make the wallet broadcast transactions (default: 1) | |
--walletnotify=<cmd> | |
Execute command when a wallet transaction changes (%s in cmd is replaced by TxID) | |
--zapwallettxes=<mode> | |
Delete all wallet transactions and only recover those parts of the blockchain through -rescan on startup (1 = keep tx meta data e.g. account owner and payment request information, 2 = drop tx meta data) | |
--createwalletbackups=<n> | |
Number of automatic wallet backups (default: 10) | |
--walletbackupsdir=<dir> | |
Specify full path to directory for automatic wallet backups (must exist) | |
--keepass | Use KeePass 2 integration using KeePassHttp plugin (default: 0) |
--keepassport=<port> | |
Connect to KeePassHttp on port <port> (default: 19455) | |
--keepasskey=<key> | |
KeePassHttp key for AES encrypted communication with KeePass | |
--keepassid=<name> | |
KeePassHttp id for the established association | |
--keepassname=<name> | |
Name to construct url for KeePass entry that stores the wallet passphrase |
--zmqpubhashblock=<address> | |
Enable publish hash block in <address> | |
--zmqpubhashtx=<address> | |
Enable publish hash transaction in <address> | |
--zmqpubhashtxlock=<address> | |
Enable publish hash transaction (locked via InstantSend) in <address> | |
--zmqpubhashgovernancevote=<address> | |
Enable publish hash of governance votes in <address> | |
--zmqpubhashgovernanceobject=<address> | |
Enable publish hash of governance objects (like proposals) in <address> | |
--zmqpubhashinstantsenddoublespend=<address> | |
Enable publish transaction hashes of attempted InstantSend double spend in <address> | |
--zmqpubrawblock=<address> | |
Enable publish raw block in <address> | |
--zmqpubrawtx=<address> | |
Enable publish raw transaction in <address> | |
--zmqpubrawtxlock=<address> | |
Enable publish raw transaction (locked via InstantSend) in <address> | |
--zmqpubrawinstantsenddoublespend=<address> | |
Enable publish raw transactions of attempted InstantSend double spend in <address> |
--uacomment=<cmt> | |
Append comment to the user agent string | |
--debug=<category> | |
Output debugging information (default: 0, supplying <category> is optional). If <category> is not supplied or if <category> = 1, output all debugging information.<category> can be: addrman, alert, bench, cmpctblock, coindb, db, http, leveldb, libevent, lock, mempool, mempoolrej, net, proxy, prune, rand, reindex, rpc, selectcoins, tor, zmq, dash (or specifically: gobject, instantsend, keepass, masternode, mnpayments, mnsync, privatesend, spork). | |
--help-debug | Show all debugging options (usage: --help -help-debug) |
--logips | Include IP addresses in debug output (default: 0) |
--logtimestamps | |
Prepend debug output with timestamp (default: 1) | |
--minrelaytxfee=<amt> | |
Fees (in DASH/kB) smaller than this are considered zero fee for relaying, mining and transaction creation (default: 0.00001) | |
--maxtxfee=<amt> | |
Maximum total fees (in DASH) to use in a single wallet transaction or raw transaction; setting this too low may abort large transactions (default: 0.10) | |
--printtoconsole | |
Send trace/debug info to console instead of debug.log file | |
--printtodebuglog | |
Send trace/debug info to debug.log file (default: 1) | |
--shrinkdebugfile | |
Shrink debug.log file on client startup (default: 1 when no -debug) |
--testnet | Use the test chain |
--devnet=<name> | |
Use devnet chain with provided name | |
--litemode=<n> | Disable all Dash specific functionality (Masternodes, PrivateSend, InstantSend, Governance) (0-1, default: 0) |
--sporkaddr=<hex> | |
Override spork address. Only useful for regtest and devnet. Using this on mainnet or testnet will ban you. | |
--minsporkkeys=<n> | |
Overrides minimum spork signers to change spork value. Only useful for regtest and devnet. Using this on mainnet or testnet will ban you. |
--masternode=<n> | |
Enable the client to act as a masternode (0-1, default: 0) | |
--mnconf=<file> | |
Specify masternode configuration file (default: masternode.conf) | |
--mnconflock=<n> | |
Lock masternodes from masternode configuration file (default: 1) | |
--masternodeprivkey=<n> | |
Set the masternode private key | |
--masternodeblsprivkey=<hex> | |
Set the masternode BLS private key |
--enableprivatesend=<n> | |
Enable use of automated PrivateSend for funds stored in this wallet (0-1, default: 0) | |
--privatesendmultisession=<n> | |
Enable multiple PrivateSend mixing sessions per block, experimental (0-1, default: 0) | |
--privatesendsessions=<n> | |
Use N separate masternodes in parallel to mix funds (1-10, default: 4) | |
--privatesendrounds=<n> | |
Use N separate masternodes for each denominated input to mix funds (2-16, default: 4) | |
--privatesendamount=<n> | |
Keep N DASH anonymized (2-21000000, default: 1000) | |
--liquidityprovider=<n> | |
Provide liquidity to PrivateSend by infrequently mixing coins on a continual basis (0-100, default: 0, 1=very frequent, high fees, 100=very infrequent, low fees) |
--enableinstantsend=<n> | |
Enable InstantSend, show confirmations for locked transactions (0-1, default: 1) | |
--instantsendnotify=<cmd> | |
Execute command when a wallet InstantSend transaction is successfully locked (%s in cmd is replaced by TxID) |
--bytespersigop | |
Minimum bytes per sigop in transactions we relay and mine (default: 20) | |
--datacarrier | Relay and mine data carrier transactions (default: 1) |
--datacarriersize | |
Maximum size of data in data carrier transactions we relay and mine (default: 83) |
--blockmaxsize=<n> | |
Set maximum block size in bytes (default: 2000000) | |
--blockprioritysize=<n> | |
Set maximum size of high-priority/low-fee transactions in bytes (default: 10000) | |
--blockmintxfee=<amt> | |
Set lowest fee rate (in DASH/kB) for transactions to be included in block creation. (default: 0.00001) |
--server | Accept command line and JSON-RPC commands |
--rest | Accept public REST requests (default: 0) |
--rpcbind=<addr> | |
Bind to given address to listen for JSON-RPC connections. Use [host]:port notation for IPv6. This option can be specified multiple times (default: bind to all interfaces) | |
--rpccookiefile=<loc> | |
Location of the auth cookie (default: data dir) | |
--rpcuser=<user> | |
Username for JSON-RPC connections | |
--rpcpassword=<pw> | |
Password for JSON-RPC connections | |
--rpcauth=<userpw> | |
Username and hashed password for JSON-RPC connections. The field <userpw> comes in the format: <USERNAME>:<SALT>$<HASH>. A canonical python script is included in share/rpcuser. The client then connects normally using the rpcuser=<USERNAME>/rpcpassword=<PASSWORD> pair of arguments. This option can be specified multiple times | |
--rpcport=<port> | |
Listen for JSON-RPC connections on <port> (default: 9998 or testnet: 19998) | |
--rpcallowip=<ip> | |
Allow JSON-RPC connections from specified source. Valid for <ip> are a single IP (e.g. 1.2.3.4), a network/netmask (e.g. 1.2.3.4/255.255.255.0) or a network/CIDR (e.g. 1.2.3.4/24). This option can be specified multiple times | |
--rpcthreads=<n> | |
Set the number of threads to service RPC calls (default: 4) |
Dash Core QT GUI, use same command line options as dashd with additional options for UI as described below.
- dash-qt [command-line options]
- Start Dash Core QT GUI
--windowtitle=<name> | |
Wallet window title |
--debug=<category> | |
Output debugging information (default: 0, supplying <category> is optional). If <category> is not supplied or if <category> = 1, output all debugging information.<category> can be: addrman, alert, bench, cmpctblock, coindb, db, http, leveldb, libevent, lock, mempool, mempoolrej, net, proxy, prune, rand, reindex, rpc, selectcoins, tor, zmq, dash (or specifically: gobject, instantsend, keepass, masternode, mnpayments, mnsync, privatesend, spork), qt. |
--choosedatadir | |
Choose data directory on startup (default: 0) | |
--lang=<lang> | Set language, for example "de_DE" (default: system locale) |
--min | Start minimized |
--rootcertificates=<file> | |
Set SSL root certificates for payment request (default: -system-) | |
--splash | Show splash screen on startup (default: 1) |
--resetguisettings | |
Reset all settings changed in the GUI |
Dash Core RPC client
- dash-cli [options] <command> [params]
- Send command to Dash Core
- dash-cli [options] help
- List commands
- dash-cli [options] help <command>
- Get help for a command
--help | This help message |
--conf=<file> | Specify configuration file (default: dash.conf) |
--datadir=<dir> | |
Specify data directory |
--testnet | Use the test chain |
--devnet=<name> | |
Use devnet chain with provided name | |
--regtest | Enter regression test mode, which uses a special chain in which blocks can be solved instantly. This is intended for regression testing tools and app development. |
--named | Pass named instead of positional arguments (default: false) |
--rpcconnect=<ip> | |
Send commands to node running on <ip> (default: 127.0.0.1) | |
--rpcport=<port> | |
Connect to JSON-RPC on <port> (default: 9998 or testnet: 19998) | |
--rpcwait | Wait for RPC server to start |
--rpcuser=<user> | |
Username for JSON-RPC connections | |
--rpcpassword=<pw> | |
Password for JSON-RPC connections | |
--rpcclienttimeout=<n> | |
Timeout during HTTP requests (default: 900) | |
--stdin | Read extra arguments from standard input, one per line until EOF/Ctrl-D (recommended for sensitive information such as passphrases) |
Dash Core dash-tx utility
- dash-tx [options] <hex-tx> [commands]
- Update hex-encoded dash transaction
- dash-tx [options] -create [commands]
- Create hex-encoded dash transaction
--help | This help message |
--create | Create new, empty TX. |
--json | Select JSON output |
--txid | Output only the hex-encoded transaction id of the resultant transaction. |
--testnet | Use the test chain |
--devnet=<name> | |
Use devnet chain with provided name | |
--regtest | Enter regression test mode, which uses a special chain in which blocks can be solved instantly. This is intended for regression testing tools and app development. |
- delin=N
- Delete input N from TX
- delout=N
- Delete output N from TX
- in=TXID:VOUT
- Add input to TX
- locktime=N
- Set TX lock time to N
- nversion=N
- Set TX version to N
- outaddr=VALUE:ADDRESS
- Add address-based output to TX
- outpubkey=VALUE:PUBKEY[:FLAGS]
- Add pay-to-pubkey output to TX. Optionally add the "S" flag to wrap the output in a pay-to-script-hash.
- outdata=[VALUE:]DATA
- Add data-based output to TX
- outscript=VALUE:SCRIPT[:FLAGS]
- Add raw script output to TX. Optionally add the "S" flag to wrap the output in a pay-to-script-hash.
- outmultisig=VALUE:REQUIRED:PUBKEYS:PUBKEY1:PUBKEY2:....[:FLAGS]
- Add Pay To n-of-m Multi-sig output to TX. n = REQUIRED, m = PUBKEYS. Optionally add the "S" flag to wrap the output in a pay-to-script-hash.
- sign=SIGHASH-FLAGS
- Add zero or more signatures to transaction. This command requires JSON registers:prevtxs=JSON object, privatekeys=JSON object. See signrawtransaction docs for format of sighash flags, JSON objects.
- load=NAME:FILENAME
- Load JSON file FILENAME into register NAME
- set=NAME:JSON-STRING
- Set register NAME to given JSON-STRING
RPC commands¶
This documentation lists all available RPC commands as of Dash version 0.13.0.0, and limited documentation on what each command does. For full documentation of arguments, results and examples, type help ( "command" ) to view full details at the console. You can enter commands either from Tools > Debug console in the QT wallet, or using dash-cli for headless wallets and dashd.
- getaddressbalance
- Returns the balance for an address(es) (requires addressindex to be enabled).
- getaddressdeltas
- Returns all changes for an address (requires addressindex to be enabled).
- getaddressmempool
- Returns all mempool deltas for an address (requires addressindex to be enabled).
- getaddresstxids
- Returns the txids for an address(es) (requires addressindex to be enabled).
- getaddressutxos
- Returns all unspent outputs for an address (requires addressindex to be enabled).
- getbestblockhash
- Returns the hash of the best (tip) block in the longest blockchain.
- getblock "blockhash" ( verbosity )
- If verbosity is 0, returns a string that is serialized, hex-encoded data for block 'hash'. If verbosity is 1, returns an Object with information about block <hash>. If verbosity is 2, returns an Object with information about block <hash> and information about each transaction.
- getblockchaininfo
- Returns an object containing various state info regarding blockchain processing.
- getblockcount
- Returns the number of blocks in the longest blockchain.
- getblockhash height
- Returns hash of block in best-block-chain at height provided.
- getblockhashes timestamp
- Returns array of hashes of blocks within the timestamp range provided.
- getblockheader "hash" ( verbose )
- If verbose is false, returns a string that is serialized, hex-encoded data for blockheader 'hash'. If verbose is true, returns an Object with information about blockheader <hash>.
- getblockheaders "hash" ( count verbose )
- Returns an array of items with information about <count> blockheaders starting from <hash>. If verbose is false, each item is a string that is serialized, hex-encoded data for a single blockheader. If verbose is true, each item is an Object with information about a single blockheader.
- getchaintips ( count branchlen )
- Return information about all known tips in the block tree, including the main chain as well as orphaned branches.
- getdifficulty
- Returns the proof-of-work difficulty as a multiple of the minimum difficulty.
- getmempoolancestors txid (verbose)
- If txid is in the mempool, returns all in-mempool ancestors.
- getmempooldescendants txid (verbose)
- If txid is in the mempool, returns all in-mempool descendants.
- getmempoolentry txid
- Returns mempool data for given transaction.
- getmempoolinfo
- Returns details on the active state of the TX memory pool.
- getrawmempool ( verbose )
- Returns all transaction ids in memory pool as a json array of string transaction ids.
- getspentinfo
- Returns the txid and index where an output is spent.
- gettxout "txid" n ( include_mempool )
- Returns details about an unspent transaction output.
- gettxoutproof ["txid",...] ( blockhash )
- Returns a hex-encoded proof that "txid" was included in a block.
- gettxoutsetinfo
- Returns statistics about the unspent transaction output set. Note this call may take some time.
- preciousblock "blockhash"
- Treats a block as if it were received before others with the same work. A later preciousblock call can override the effect of an earlier one. The effects of preciousblock are not retained across restarts.
- pruneblockchain
- Prune blockchain up to specified height or unix timestamp.
- verifychain ( checklevel nblocks )
- Verifies blockchain database.
- verifytxoutproof "proof"
- Verifies that a proof points to a transaction in a block, returning the transaction it commits to and throwing an RPC error if the block is not in our best chain.
- debug ( 0 | 1 | addrman | alert | bench | coindb | db | lock | rand | rpc | selectcoins | mempool | mempoolrej | net | proxy | prune | http | libevent | tor | zmq | dash | privatesend | instantsend | masternode | spork | keepass | mnpayments | gobject )
- Change debug category on the fly. Specify single category or use '+' to specify many.
- getinfo
- DEPRECATED. Returns an object containing various state info.
- getmemoryinfo
- Returns an object containing information about memory usage
- help ( "command" ) ("subCommand")
- List all commands, or get help for a specified comm
- stop
- Stop Dash Core server.
- getgovernanceinfo
- Returns an object containing governance parameters.
- getpoolinfo
- Returns an object containing mixing pool related information.
- getsuperblockbudget index
- Returns the absolute maximum sum of superblock payments allowed.
- gobject "command"...
Manage governance objects. Available commands:
- check
- Validate governance object data (proposal only)
- prepare
- Prepare governance object by signing and creating tx
- submit
- Submit governance object to network
- deserialize
- Deserialize governance object from hex string to JSON
- count
- Count governance objects and votes (additional param: 'json' or 'all', default: 'json')
- get
- Get governance object by hash
- getvotes
- Get all votes for a governance object hash (including old votes)
- getcurrentvotes
- Get only current (tallying) votes for a governance object hash (does not include old votes)
- list
- List governance objects (can be filtered by signal and/or object type)
- diff
- List differences since last diff
- vote-alias
- Vote on a governance object by masternode alias (using masternode.conf setup)
- vote-conf
- Vote on a governance object by masternode configured in dash.conf
- vote-many
- Vote on a governance object by all masternodes (using masternode.conf setup)
- masternode "command"...
Set of commands to execute masternode related actions. Available commands:
- check
- Force check all masternodes and remove invalid ones
- count
- Get information about number of masternodes (DEPRECATED options: 'total', 'ps', 'enabled', 'qualify', 'all')
- current
- Print info on current masternode winner to be paid the next block (calculated locally)
- genkey
- Generate new masternodeprivkey, optional param: 'compressed' (boolean, optional, default=false) generate compressed privkey
- outputs
- Print masternode compatible outputs
- start-alias
- Start single remote masternode by assigned alias configured in masternode.conf
- start-<mode>
- Start remote masternodes configured in masternode.conf (<mode>: 'all', 'missing', 'disabled')
- status
- Print masternode status information
- list
- Print list of all known masternodes (see masternodelist for more info)
- list-conf
- Print masternode.conf in JSON format
- winner
- Print info on next masternode winner to vote for
- winners
- Print list of masternode winners
- masternodebroadcast "command"...
Set of commands to create and relay masternode broadcast messages. Available commands:
- create-alias
- Create single remote masternode broadcast message by assigned alias configured in masternode.conf
- create-all
- Create remote masternode broadcast messages for all masternodes configured in masternode.conf
- decode
- Decode masternode broadcast message
- relay
- Relay masternode broadcast message to the network
- masternode list ( "mode" "filter" )
- Get a list of masternodes in different modes. This call is identical to masternodelist call.
- mnsync [status | next | reset]
- Returns the sync status, updates to the next step or resets it entirely.
- privatesend "command"
Available commands:
- start
- Start mixing
- stop
- Stop mixing
- reset
- Reset mixing
- sentinelping version
- Sentinel ping.
- spork "command"
Shows information about current state of sporks. Available commands:
- show
- Show all current spork values
- active
- Show which sporks are active
- voteraw <masternode-tx-hash> <masternode-tx-index> <governance-hash> <vote-signal> [yes | no | abstain] <time> <vote-sig>
- Compile and relay a governance vote with provided external signature instead of signing vote internally
- bls "command" ...
Set of commands to execute BLS related actions. Available commands:
- generate
- Create a BLS secret/public key pair
- protx "command" ...
Set of commands to execute ProTx related actions. Available commands:
- register
- Create and send ProTx to network
- register_fund
- Fund, create and send ProTx to network
- register_prepare
- Create an unsigned ProTx
- register_submit
- Sign and submit a ProTx
- list
- List ProTxs
- info
- Return information about a ProTx
- update_service
- Create and send ProUpServTx to network
- update_registrar
- Create and send ProUpRegTx to network
- revoke
- Create and send ProUpRevTx to network
- diff
- Calculate a diff and a proof between two masternode lists
- generate nblocks ( maxtries )
- Mine up to nblocks blocks immediately (before the RPC call returns)
- generatetoaddress nblocks address (maxtries)
- Mine blocks immediately to a specified address (before the RPC call returns)
- getblocktemplate ( TemplateRequest )
- If the request parameters include a 'mode' key, that is used to explicitly select between the default 'template' request or a 'proposal'. It returns data needed to construct a block to work on.
- getmininginfo
- Returns a json object containing mining-related information.
- getnetworkhashps ( nblocks height )
- Returns the estimated network hashes per second based on the last n blocks. Pass in [blocks] to override # of blocks, -1 specifies since last difficulty change. Pass in [height] to estimate the network speed at the time when a certain block was found.
- prioritisetransaction <txid> <priority delta> <fee delta>
- Accepts the transaction into mined blocks at a higher (or lower) priority
- submitblock "hexdata" ( "jsonparametersobject" )
- Attempts to submit new block to network. The 'jsonparametersobject' parameter is currently ignored. See https://en.bitcoin.it/wiki/BIP_0022 for full specification.
- addnode "node" "add | remove | onetry"
- Attempts add or remove a node from the addnode list. Or try a connection to a node once.
- clearbanned
- Clear all banned IPs.
- disconnectnode "address"
- Immediately disconnects from the specified node.
- getaddednodeinfo ( "node" )
- Returns information about the given added node, or all added nodes (note that onetry addnodes are not listed here)
- getconnectioncount
- Returns the number of connections to other nodes.
- getnettotals
- Returns information about network traffic, including bytes in, bytes out, and current time.
- getnetworkinfo
- Returns an object containing various state info regarding P2P networking.
- getpeerinfo
- Returns data about each connected network node as a json array of objects.
- listbanned
- List all banned IPs/Subnets.
- ping
- Requests that a ping be sent to all other nodes, to measure ping time. Results provided in getpeerinfo, pingtime and pingwait fields are decimal seconds. Ping command is handled in queue with all other commands, so it measures processing backlog, not just network ping.
- setban "subnet" "add | remove" (bantime) (absolute)
- Attempts add or remove a IP/Subnet from the banned list.
- setnetworkactive true | false
- Disable/enable all p2p network activity.
- createrawtransaction [{"txid":"id","vout":n},...] {"address":amount,"data":"hex",...} ( locktime )
- Create a transaction spending the given inputs and creating new outputs. Outputs can be addresses or data. Returns hex-encoded raw transaction. Note that the transaction's inputs are not signed, and it is not stored in the wallet or transmitted to the network.
- decoderawtransaction "hexstring"
- Return a JSON object representing the serialized, hex-encoded transaction.
- decodescript "hexstring"
- Decode a hex-encoded script.
- fundrawtransaction "hexstring" ( options )
- Add inputs to a transaction until it has enough in value to meet its out value. This will not modify existing inputs, and will add at most one change output to the outputs.
- getrawtransaction "txid" ( verbose )
- Return the raw transaction data. If verbose is 'true', returns an Object with information about 'txid'. If verbose is 'false' or omitted, returns a string that is serialized, hex-encoded data for 'txid'.
- sendrawtransaction "hexstring" ( allowhighfees instantsend bypasslimits)
- Submits raw transaction (serialized, hex-encoded) to local node and network. Also see createrawtransaction and signrawtransaction calls.
- signrawtransaction "hexstring" ( [{"txid":"id","vout":n,"scriptPubKey":"hex","redeemScript":"hex"},...] ["privatekey1",...] sighashtype )
- Sign inputs for raw transaction (serialized, hex-encoded). The second optional argument (may be null) is an array of previous transaction outputs that this transaction depends on but may not yet be in the block chain. The third optional argument (may be null) is an array of base58-encoded private keys that, if given, will be the only keys used to sign the transaction.
- createmultisig nrequired ["key",...]
- Creates a multi-signature address with n signature of m keys required. It returns a json object with the address and redeemScript.
- estimatefee nblocks
- Estimates the approximate fee per kilobyte needed for a transaction to begin confirmation within nblocks blocks.
- estimatepriority nblocks
- DEPRECATED. Estimates the approximate priority a zero-fee transaction needs to begin confirmation within nblocks blocks.
- estimatesmartfee nblocks
- WARNING: This interface is unstable and may disappear or change! Estimates the approximate fee per kilobyte needed for a transaction to begin confirmation within nblocks blocks if possible and return the number of blocks for which the estimate is valid.
- estimatesmartpriority nblocks
- DEPRECATED. WARNING: This interface is unstable and may disappear or change! Estimates the approximate priority a zero-fee transaction needs to begin confirmation within nblocks blocks if possible and return the number of blocks for which the estimate is valid.
- signmessagewithprivkey "privkey" "message"
- Sign a message with the private key of an address
- validateaddress "address"
- Return information about the given dash address.
- verifymessage "address" "signature" "message"
- Verify a signed message
- abandontransaction "txid"
- Mark in-wallet transaction <txid> as abandoned. This will mark this transaction and all its in-wallet descendants as abandoned which will allow for their inputs to be respent.
- addmultisigaddress nrequired ["key",...] ( "account" )
- Add a nrequired-to-sign multisignature address to the wallet. Each key is a Dash address or hex-encoded public key. If 'account' is specified (DEPRECATED), assign address to that account.
- backupwallet "destination"
- Safely copies current wallet file to destination, which can be a directory or a path with filename.
- dumphdinfo
- Returns an object containing sensitive private info about this HD wallet.
- dumpprivkey "address"
- Reveals the private key corresponding to 'address'. Then the importprivkey can be used with this output
- dumpwallet "filename"
- Dumps all wallet keys in a human-readable format.
- getaccount "address"
- DEPRECATED. Returns the account associated with the given address.
- getaccountaddress "account"
- DEPRECATED. Returns the current Dash address for receiving payments to this account.
- getaddressesbyaccount "account"
- DEPRECATED. Returns the list of addresses for the given account.
- getbalance ( "account" minconf addlocked include_watchonly )
- If account is not specified, returns the server's total available balance. If account is specified (DEPRECATED), returns the balance in the account. Note that the account "" is not the same as leaving the parameter out. The server total may be different to the balance in the default "" account.
- getnewaddress ( "account" )
- Returns a new Dash address for receiving payments. If 'account' is specified (DEPRECATED), it is added to the address book so payments received with the address will be credited to 'account'.
- getrawchangeaddress
- Returns a new Dash address, for receiving change. This is for use with raw transactions, NOT normal use.
- getreceivedbyaccount "account" ( minconf addlocked )
- DEPRECATED. Returns the total amount received by addresses with <account> in transactions with specified minimum number of confirmations.
- getreceivedbyaddress "address" ( minconf addlocked )
- Returns the total amount received by the given address in transactions with at least minconf confirmations.
- gettransaction "txid" ( include_watchonly )
- Get detailed information about in-wallet transaction <txid>
- getunconfirmedbalance
- Returns the server's total unconfirmed balance
- getwalletinfo
- Returns an object containing various wallet state info.
- importaddress "address" ( "label" rescan p2sh )
- Adds a script (in hex) or address that can be watched as if it were in your wallet but cannot be used to spend.
- importelectrumwallet "filename" index
- Imports keys from an Electrum wallet export file (.csv or .json)
- importmulti "requests" "options"
- Import addresses/scripts (with private or public keys, redeem script (P2SH)), rescanning all addresses in one-shot-only (rescan can be disabled via options).
- importprivkey "dashprivkey" ( "label" ) ( rescan )
- Adds a private key (as returned by dumpprivkey) to your wallet.
- importprunedfunds
- Imports funds without rescan. Corresponding address or script must previously be included in wallet. Aimed towards pruned wallets. The end-user is responsible to import additional transactions that subsequently spend the imported outputs or rescan after the point in the blockchain the transaction is included.
- importpubkey "pubkey" ( "label" rescan )
- Adds a public key (in hex) that can be watched as if it were in your wallet but cannot be used to spend.
- importwallet "filename"
- Imports keys from a wallet dump file (see dumpwallet).
- instantsendtoaddress "address" amount ( "comment" "comment-to" subtractfeefromamount )
- Send an amount to a given address. The amount is a real and is rounded to the nearest 0.00000001
- keepass <genkey | init | setpassphrase>
- Keepass settings.
- keypoolrefill ( newsize )
- Fills the keypool. Requires wallet passphrase to be set with walletpassphrase call.
- listaccounts ( minconf addlocked include_watchonly)
- DEPRECATED. Returns Object that has account names as keys, account balances as values.
- listaddressbalances ( minamount )
- Lists addresses of this wallet and their balances
- listaddressgroupings
- Lists groups of addresses which have had their common ownership made public by common use as inputs or as the resulting change in past transactions
- listlockunspent
- Returns list of temporarily unspendable outputs. See the lockunspent call to lock and unlock transactions for spending.
- listreceivedbyaccount ( minconf addlocked include_empty include_watchonly)
- DEPRECATED. List incoming payments grouped by account.
- listreceivedbyaddress ( minconf addlocked include_empty include_watchonly)
- List incoming payments grouped by receiving address.
- listsinceblock ( "blockhash" target_confirmations include_watchonly)
- Get all transactions in blocks since block [blockhash], or all transactions if omitted
- listtransactions ( "account" count skip include_watchonly)
- Returns up to 'count' most recent transactions skipping the first 'from' transactions for account 'account'.
- listunspent ( minconf maxconf ["addresses",...] [include_unsafe] )
- Returns array of unspent transaction outputs with between minconf and maxconf (inclusive) confirmations. Optionally filter to only include txouts paid to specified addresses.
- lockunspent unlock ([{"txid":"txid","vout":n},...])
- Updates list of temporarily unspendable outputs. Temporarily lock (unlock=false) or unlock (unlock=true) specified transaction outputs.
- move "fromaccount" "toaccount" amount ( minconf "comment" )
- DEPRECATED. Move a specified amount from one account in your wallet to another.
- removeprunedfunds "txid"
- Deletes the specified transaction from the wallet. Meant for use with pruned wallets and as a companion to importprunedfunds. This will effect wallet balances.
- sendfrom "fromaccount" "toaddress" amount ( minconf addlocked "comment" "comment_to" )
- DEPRECATED (use sendtoaddress). Sent an amount from an account to a dash address. Requires wallet passphrase to be set with walletpassphrase call.
- sendmany "fromaccount" {"address":amount,...} ( minconf addlocked "comment" ["address",...] subtractfeefromamount use_is use_ps )
- Send multiple times. Amounts are double-precision floating point numbers. Requires wallet passphrase to be set with walletpassphrase call.
- sendtoaddress "address" amount ( "comment" "comment_to" subtractfeefromamount use_is use_ps )
- Send an amount to a given address.
- setaccount "address" "account"
- DEPRECATED. Sets the account associated with the given address.
- setprivatesendamount amount
- Set the goal amount in DASH for PrivateSend mixing.
- setprivatesendrounds rounds
- Set the number of rounds for PrivateSend mixing.
- settxfee amount
- Set the transaction fee per kB. Overwrites the paytxfee parameter.
- signmessage "address" "message"
- Sign a message with the private key of an address Requires wallet passphrase to be set with walletpassphrase call.
- walletlock
- Removes the wallet encryption key from memory, locking the wallet. After calling this method, you will need to call walletpassphrase again before being able to call any methods which require the wallet to be unlocked.
- walletpassphrase "passphrase" timeout ( mixingonly )
- Stores the wallet decryption key in memory for 'timeout' seconds. This is needed prior to performing transactions related to private keys such as sending dashs
- walletpassphrasechange "oldpassphrase" "newpassphrase"
- Changes the wallet passphrase from 'oldpassphrase' to 'newpassphrase'.
Advanced topics¶
Coin Control¶
Coin Control allows users of the Dash Core Wallet to specify which addresses and Unspent Transaction Outputs (UTXOs) should be used as inputs in transactions. This allows you to keep a specific balance on certain addresses in your wallet, while spending others freely. In Dash Core Wallet, click Settings > Options > Wallet > Enable coin control features. Now, when you go to the Send tab in your wallet, a new button labelled Inputs… will appear. Click this button to select which UTXOs can be used as input for any transactions you create. The following window appears:
Right click on the transaction(s) you do not want to spend, then select Lock unspent. A small lock will appear next to the transaction. You can click the Toggle lock state button to invert the locked/unlocked state of all UTXOs. When you are ready to continue, click OK. You can now safely create transactions with your remaining funds without affecting the locked UTXOs.

HD Wallets¶
Since version 0.12.2.0, Dash Core has included an implementation of
BIP39/BIP44 compatible hierarchical deterministic (HD) key generation.
This functionality is only available from the command line by specifying
the usehd
option when starting Dash Core for the first time. Use
this function with care, since the mnemonic seed and keys will be stored
in plain text until you specify a wallet passphrase. Note that the
wallet passphrase is different to the mnemonic passphrase, which is
often also referred to as the "25th word" or "extension word". The
wallet passphrase encrypts the wallet file itself, while the mnemonic
passphrase is used to specify different derivation branches from the
same mnemonic seed.
We will use the Windows GUI wallet in this example, but the commands are
similar if using dash-qt
or dashd
on other operating systems.
Enter the following command to get started with a randomly generated HD
wallet seed and no mnemonic passphrase:
dash-qt.exe --usehd=1
A new HD wallet will be generated and Dash Core will display a warning
informing you that you must encrypt your wallet after verifying it works
correctly. Open the console from Tools -> Debug console or issue the
following RPC command from dash-cli
to view the mnemonic seed:
dumphdinfo
Dash Core will display the HD seed in both hexadecimal and as a BIP39
mnemonic. To restore an existing HD wallet, or define your own
separately generated mnemonic and/or passphrase, ensure no
wallet.dat
file exists in the datadir
and enter the following
command:
dash-qt.exe --usehd=1 --mnemonic="enter mnemonic" --mnemonicpassphrase="optional mnemonic passphrase"
The HD wallet will be restored and your balance will appear once sync is complete.
Multisignature¶
This section presents a worked example to demonstrate multisig functionality in Dash Core. While the transactions are no longer visible on the current testnet blockchain and some address formats or RPC responses may differ slightly from the version shown here, the principle and commands are the same. The example demonstrates how to set up a 2-of-3 multisig address and create a transaction. The example parties involved are a buyer, a seller and an arbiter. This example is based on:
- https://people.xiph.org/~greg/escrowexample.txt
- https://gist.github.com/gavinandresen/3966071
- https://bitcoin.org/en/developer-examples#p2sh-multisig
Seller:
seller@testnet03:~$ ./dash-cli getnewaddress
n18cPEtj4ZfToPZxRszUz2XPts4eGsxiPk
seller@testnet03:~$ ./dash-cli validateaddress n18cPEtj4ZfToPZxRszUz2XPts4eGsxiPk
{
"isvalid" : true,
"address" : "n18cPEtj4ZfToPZxRszUz2XPts4eGsxiPk",
"ismine" : true,
"isscript" : false,
"pubkey" : "02a862b412ff9e3afd01a2873a02622897f6df92e3fc85597788b898309fec882e",
"iscompressed" : true,
"account" : ""
}
seller@testnet03:~$ ./dash-cli dumpprivkey n18cPEtj4ZfToPZxRszUz2XPts4eGsxiPk
cVQVgBr8sW4FTPYz16BSCo1PcAfDhpJArgMPdLxKZQWcVFwMXRXx
Buyer:
buyer@testnet03:~$ ./dash-cli getnewaddress
mp5orHuaFaHCXFSCeYvUPL7H16JU8fKG6u
buyer@testnet03:~$ ./dash-cli validateaddress mp5orHuaFaHCXFSCeYvUPL7H16JU8fKG6u
{
"isvalid" : true,
"address" : "mp5orHuaFaHCXFSCeYvUPL7H16JU8fKG6u",
"ismine" : true,
"isscript" : false,
"pubkey" : "0315617694c9d93f0ce92769e050a6868ffc74d229077379c0af8bfb193c3d351c",
"iscompressed" : true,
"account" : ""
}
buyer@testnet03:~$ ./dash-cli dumpprivkey mp5orHuaFaHCXFSCeYvUPL7H16JU8fKG6u
cP9DFmEDb11waWbQ8eG1YUoZCGe59BBxJF3kk95PTMXuG9HzcxnU
Arbiter:
arbiter@testnet03:~$ ./dash-cli getnewaddress
n1cZSyQXhach5rrj2tm5wg6JC7uZ3qPNiN
arbiter@testnet03:~$ ./dash-cli validateaddress n1cZSyQXhach5rrj2tm5wg6JC7uZ3qPNiN
{
"isvalid" : true,
"address" : "n1cZSyQXhach5rrj2tm5wg6JC7uZ3qPNiN",
"ismine" : true,
"isscript" : false,
"pubkey" : "0287ce6cf69b85593ce7db801874c9a2fb1b653dbe5dd9ebfa73e98b710af9e9ce",
"iscompressed" : true,
"account" : ""
}
arbiter@testnet03:~$ ./dash-cli dumpprivkey n1cZSyQXhach5rrj2tm5wg6JC7uZ3qPNiN
cUbDFL81a2w6urAGZf7ecGbdzM82pdHLeCaPXdDp71s96SzDV49M
This results in three keypairs (public/private):
seller: 02a862b412ff9e3afd01a2873a02622897f6df92e3fc85597788b898309fec882e / cVQVgBr8sW4FTPYz16BSCo1PcAfDhpJArgMPdLxKZQWcVFwMXRXx
buyer: 0315617694c9d93f0ce92769e050a6868ffc74d229077379c0af8bfb193c3d351c / cP9DFmEDb11waWbQ8eG1YUoZCGe59BBxJF3kk95PTMXuG9HzcxnU
arbiter: 0287ce6cf69b85593ce7db801874c9a2fb1b653dbe5dd9ebfa73e98b710af9e9ce / cUbDFL81a2w6urAGZf7ecGbdzM82pdHLeCaPXdDp71s96SzDV49M
The createmultisig
command takes as variables the number n
signatures of m keys (supplied as json array) required. In this example,
2 of 3 keys are required to sign the transaction.
Note: The address can be created by anyone, as long as the public keys and their sequence are known (resulting address and redeemScript are identical, see below).
Seller:
seller@testnet03:~$ ./dash-cli createmultisig 2 '["02a862b412ff9e3afd01a2873a02622897f6df92e3fc85597788b898309fec882e","0315617694c9d93f0ce92769e050a6868ffc74d229077379c0af8bfb193c3d351c","0287ce6cf69b85593ce7db801874c9a2fb1b653dbe5dd9ebfa73e98b710af9e9ce"]'
{
"address" : "2MuEQCZh7VB8pNrT4bj1CFZQh2oK7XZYLQf",
"redeemScript" : "522102a862b412ff9e3afd01a2873a02622897f6df92e3fc85597788b898309fec882e210315617694c9d93f0ce92769e050a6868ffc74d229077379c0af8bfb193c3d351c210287ce6cf69b85593ce7db801874c9a2fb1b653dbe5dd9ebfa73e98b710af9e9ce53ae"
}
Buyer:
buyer@testnet03:~$ ./dash-cli createmultisig 2 '["02a862b412ff9e3afd01a2873a02622897f6df92e3fc85597788b898309fec882e","0315617694c9d93f0ce92769e050a6868ffc74d229077379c0af8bfb193c3d351c","0287ce6cf69b85593ce7db801874c9a2fb1b653dbe5dd9ebfa73e98b710af9e9ce"]'
{
"address" : "2MuEQCZh7VB8pNrT4bj1CFZQh2oK7XZYLQf",
"redeemScript" : "522102a862b412ff9e3afd01a2873a02622897f6df92e3fc85597788b898309fec882e210315617694c9d93f0ce92769e050a6868ffc74d229077379c0af8bfb193c3d351c210287ce6cf69b85593ce7db801874c9a2fb1b653dbe5dd9ebfa73e98b710af9e9ce53ae"
}
Arbiter:
arbiter@testnet03:~$ ./dash-cli createmultisig 2 '["02a862b412ff9e3afd01a2873a02622897f6df92e3fc85597788b898309fec882e","0315617694c9d93f0ce92769e050a6868ffc74d229077379c0af8bfb193c3d351c","0287ce6cf69b85593ce7db801874c9a2fb1b653dbe5dd9ebfa73e98b710af9e9ce"]'
{
"address" : "2MuEQCZh7VB8pNrT4bj1CFZQh2oK7XZYLQf",
"redeemScript" : "522102a862b412ff9e3afd01a2873a02622897f6df92e3fc85597788b898309fec882e210315617694c9d93f0ce92769e050a6868ffc74d229077379c0af8bfb193c3d351c210287ce6cf69b85593ce7db801874c9a2fb1b653dbe5dd9ebfa73e98b710af9e9ce53ae"
}
This works the same as a usual transaction.
Buyer:
buyer@testnet03:~$ ./dash-cli sendtoaddress 2MuEQCZh7VB8pNrT4bj1CFZQh2oK7XZYLQf 777.77
a8b3bf5bcace91a8dbbddbf9b7eb027efb9bd001792f043ecf7b558aaa3cb951
The seller/arbiter can trace the transaction by its txid in the block explorer. Or from the console as follows.
Buyer:
seller@testnet03:~$ ./dash-cli getrawtransaction a8b3bf5bcace91a8dbbddbf9b7eb027efb9bd001792f043ecf7b558aaa3cb951 1
{
"hex" : "010000001a2e514dd90f666e3de4cddd22682ae1ca7225988656369d98228c742482fee16b010000006b48304502200ea8dddd404aac644fd382d3089480f2c9a6ce753a3c4fc0b12ac81afe8ffa3b022100d88f698a0d9fefbbf76240790530fe7e23bf6b354a1feedb4effa99813405b00012103954bfa8b6b1b0f1f5624ea2925b18cd1477fde2087eada1a51323a6617172689ffffffff3181c52614be8742c36665b6a287a2d6c7970494b0a341ff9595c1c9a8f23aa2010000006b483045022041ee176da4df13adc782c9ff2afdb24c4e1b61b450895486388431bf1a88b81f02210082be1b3bd20d3f121c971fb745cba52523f6b8093ec93df5987c9beb302c19ac012103954bfa8b6b1b0f1f5624ea2925b18cd1477fde2087eada1a51323a6617172689ffffffff332356f7d5e4264302ca4cc0f38d2a75a9b4c1df4bc4f94044f8a8fab81b7e1b010000006b483045022100dc322074961ae5e2e8cb11828301b1e083eff9ed6078aa064c52ed70d52737410220776b99c8552bbc2e644c7450ef8502d3497c3de7196b176f1c49cca18d1ff09f012103954bfa8b6b1b0f1f5624ea2925b18cd1477fde2087eada1a51323a6617172689ffffffff388b56a8a74338ce10e931dc198ed25fa4cb7213e0ea9905d32a3e902366661f010000006b48304502206d2cdfe9af498e9e46f88d0bd881746bf2dae182664d03f7a635ff599bdee84b022100bf3a7b88ed80b30d8915a2ae34d546defbc9a660ebf941afb4aa29461e0b4c95012103954bfa8b6b1b0f1f5624ea2925b18cd1477fde2087eada1a51323a6617172689ffffffff44578d7579bef2a204359f8c878993480b306193d954ee735c53f8b3e076c3ea010000006c4930460221008a67da5764934392437fa9e05483e4b29204fd5d78dea01f744d4a23c403881b022100c77e58307f58953b578de568138659b4efd2fadaec51917c2270fab0bd4a57a6012103954bfa8b6b1b0f1f5624ea2925b18cd1477fde2087eada1a51323a6617172689ffffffff4a3b7b666ce8f249ef4f253b7f718fb5cc2f21f899608d319bcc04c75ec47353010000006b48304502203ca5a0559647ee0d1790714296396ca0bca27a3ef3e68f76706c63da9cd3684f0221008c9529f7a54d89440f8dca89c1c47725821012670d05a70681b57f182b069a74012103954bfa8b6b1b0f1f5624ea2925b18cd1477fde2087eada1a51323a6617172689ffffffff4ab5d98908e4424929bfdba3d6402e6b45db60a622b4df8c73da1b37bdb949a4010000006b48304502210094da4e007ba94cdb47a8c4805dab4b93dc475a44340a9b6f6d7956d49749e3d3022077b94861995ffe3f59429bf5b873914d3c1157f23f018697650bc3bd2dc2de1f012103954bfa8b6b1b0f1f5624ea2925b18cd1477fde2087eada1a51323a6617172689ffffffff4cd58c1ad5b0ffd8556deff402854d94a79222799916be8e0f88d0cca3c38c85010000006b483045022030e72eec0386c83489efff8f3c71aed8eec0265565cddeb1492aab6644cc63220221008d6df06656dae12dae573b860d65045f088e4df5e2127902231d8edd4196ef1d012103954bfa8b6b1b0f1f5624ea2925b18cd1477fde2087eada1a51323a6617172689ffffffff501ff2345fc47b9b7749afcc32e790fdbe5d22fd96b2c5d0522d4cad0cd5566f010000006a47304402204e9bc23796974fdf323c49399ca7db76e2238630add4c617631549f4595af4a80220658038b14884c1a0d730de79c7e2769d4d28135ed7896e7aff01ca94c8edf7bb012103954bfa8b6b1b0f1f5624ea2925b18cd1477fde2087eada1a51323a6617172689ffffffff5020fe72d4c1038213cc3e1b99f5b313c4b2d57f1e0d9abba90860dc5c38630a010000006a473044022071b7cca6a7d72fef4b46ad425c23c37f28c72501e5e61821f00e022c4c8ef49502200d8ba406fe336d64a8ae909cad20d0ffe302cd977900013ea72b37c488550625012103954bfa8b6b1b0f1f5624ea2925b18cd1477fde2087eada1a51323a6617172689ffffffff59f32023d4225cc193182e81444f00f6d95652a9458daa08f4324ab4bdac7bed010000006b4830450221009e0f701840c01c2c37e2baec0ea2c43d517126107ef874c3d68f32dfa2e4f05f02206d1306dee274267598d5ab8d7c4c26346d25d8118b30a6921b9b238307916d6e012103954bfa8b6b1b0f1f5624ea2925b18cd1477fde2087eada1a51323a6617172689ffffffff05b5b8ecaf7bcbd5fdfc64fd7dbd6ebfee18dcaf57e00b6711ba0abe4329eb23010000006a47304402200515822e6d9641c72f1af7968ba63d47463caffeca03733750b0866ef123fe00022071fd40bac12aa1d36244fc5391162b70ec306a5ed2dffef3a3d4995524317a10012103954bfa8b6b1b0f1f5624ea2925b18cd1477fde2087eada1a51323a6617172689ffffffff09cc372e4409bcbacd85adb17918ca5b20427dc280b44bd4f234fb698ac07fc6010000006b483045022051e5c430110e8b0d85693c421031f14abf89bee1a14702e6655a1eaa2663927c0221009a54781fddd4093032507f12fe8a97ce926a743851a1a56c2ca70026ce98b7e6012103954bfa8b6b1b0f1f5624ea2925b18cd1477fde2087eada1a51323a6617172689ffffffff0963f2cc80666835ae8c5939ac3011d2962ae88e872cdc13257cfb0188f83c7a010000006b483045022032fd819b1cdb8f506e27f26b3e46330c498b965386c3e96c34dceeff2a517cf7022100a4c34d77ed25116dc05ca7d783bd6cb91c1e38db0541878dac72f2d63d4b7c11012103954bfa8b6b1b0f1f5624ea2925b18cd1477fde2087eada1a51323a6617172689ffffffff14cff38ccbdd840ffc491614e9b5167edb6ad6b9eeaf8e3dc30feaeefa39d820010000006c493046022100f4d6dfce7778acee6bdcf9f2ec39dbf902b6ca977b8622c886eadddefa01bf5502210089b3c2d23b5fc5b03d2d6ea4bf28f04b98342b02dd7d2020a6466bddd85c3d50012103954bfa8b6b1b0f1f5624ea2925b18cd1477fde2087eada1a51323a6617172689ffffffff63750bbce93657a59fe3472fce714eafa09791fcf7f687f30a923162f2ba5196010000006c493046022100bbbf84829fcc2ec70bc6d77cfc69f512c1a14359958eee46243001908dc2a0ab0221008f1fbda61fcfccb78fe6d4e6385e8f508035676ef82654425bb704727f1e59b4012103954bfa8b6b1b0f1f5624ea2925b18cd1477fde2087eada1a51323a6617172689ffffffff6466da482404f4a719f7eb16798d05878af2c36ad7174e2b68964693f39e954b010000006a47304402204d57344da5a1a29ea800215d19ada89787b1026f7e47c2f2f1ea0ef82bec5b6d02203039bd98546843a99d9e6749819875a4d996a682c57a192d9e5cef9b694a028b012103954bfa8b6b1b0f1f5624ea2925b18cd1477fde2087eada1a51323a6617172689ffffffff8b0b4a84522fded19446eef3fdd94cc0f7449c71b6e0080837d5f240c78ce03b010000006c493046022100c152177ec49bb572d70976b53c10d0c4be55584975d657c43e87fbaac8c081ec0221009dd150697257cf769c3e90afbde88fbbe5f95c17c561883546537644ed628f6f012103954bfa8b6b1b0f1f5624ea2925b18cd1477fde2087eada1a51323a6617172689ffffffff8d7078622b75fc2c3ea1094d07099b0e460a7f7a4c53cf225d066f919f17daf6010000006b483045022100e440d404867748cfba792119faae12d286b265a185cec86215fe2737ec1e7ca402207770447154f81564f7022b375943c2b7eaf3d05a3281c6f5c70328b098423d7d012103954bfa8b6b1b0f1f5624ea2925b18cd1477fde2087eada1a51323a6617172689ffffffff98c23cc59412943bfedba3b4a48bb2f97f58c119946e5c492031c43a36dd576e010000006c493046022100910cf6fb057269e5e02fa44fc2ba03925d9e0e3232d3d5a66aac440db9627f9f022100b656d982dec47000de616f21a331b1fb5e19d1ab312c5845f5f1538dac4dd301012103954bfa8b6b1b0f1f5624ea2925b18cd1477fde2087eada1a51323a6617172689ffffffff9d4851f00e3c2fa22816adc55703fcb539ae0fe218f369f23af079964a6225fc020000006c4930460221009918ee137e4aead4760c79dbe940556ae1ecb7935a653543b486f4198f16cc6a022100f82e04cd970f2c5fd8dd48813e38f87c10ed8fa7b45eec1854562948f9d43a1b012103954bfa8b6b1b0f1f5624ea2925b18cd1477fde2087eada1a51323a6617172689ffffffffa13c3221f0e08289657208bccf7b466ea5795c591751065a20b16f00892bd598010000006b483045022073d9fed13def14a655fd423f5c4fa63e46eeea76668cdf8bb89d96630890760d022100f70edce3513c9cbc671f92dc0b4d97c5edc0d9d26f4e726bb2d66776a3b9e411012103954bfa8b6b1b0f1f5624ea2925b18cd1477fde2087eada1a51323a6617172689ffffffffcac4f229bd19c47cd15ee9355af8383531a960ba0e0f3e8e4fa0a607ab2000d9010000006b483045022100967624e60a7670e849eb7500cf185620fd65de10d1e5f7cef9131d3c6403cb5f022005182af16fba1b7dbdd27a8935205b439c6034d566c6f14950aba6bb328cbf79012103954bfa8b6b1b0f1f5624ea2925b18cd1477fde2087eada1a51323a6617172689ffffffffcbf8cb94ee2bcda1c9ceb54feaf6815441f722b70c4f7569525cc9dee7cbbdc2010000006b4830450221008cfcfdc62f0a398e2419ebd56cf067e2abadf8116936250939b9fa763dd428680220052c6d316189d5f7164d2423aae99e97d05165f3e5c7d138e2858f0adab4ebba012103954bfa8b6b1b0f1f5624ea2925b18cd1477fde2087eada1a51323a6617172689ffffffffdbad6da5900987f77e5bcf714c935889fbea2d3ff388586a331fe42e0a82efe0010000006c493046022100e80d73130bcd25faa73764f4ff6c05e1b401f3960b7ef30b4244daaf5fce953a022100b99a55caaaa312df54c7d743791052c3e8392725becf91d2aa886d2e8259af10012103954bfa8b6b1b0f1f5624ea2925b18cd1477fde2087eada1a51323a6617172689fffffffffdc2d56fd131ae16837fc86e3015c9e78077dd36b6a2591cf1d500c584bbcc6a010000006b483045022100d13e5a55a4a71e039603bd2d3d76a757c63b1d199bcf340e3f2eeb5bed10897c022046a43ecc6cd8295981bde38c34c29708e402db59fc93e657196fc3032858d967012103954bfa8b6b1b0f1f5624ea2925b18cd1477fde2087eada1a51323a6617172689ffffffff0240d6de1b1200000017a91415c85c2472f5941b60a49462a2cfd0d17ab49d1c87c02fdf67000000001976a914b8d899f7193a7b3278be037b006c8f08998ebef388ac00000000",
"txid" : "a8b3bf5bcace91a8dbbddbf9b7eb027efb9bd001792f043ecf7b558aaa3cb951",
"version" : 1,
"locktime" : 0,
[...]
"vout" : [
{
"value" : 777.77000000,
"n" : 0,
"scriptPubKey" : {
"asm" : "OP_HASH160 15c85c2472f5941b60a49462a2cfd0d17ab49d1c OP_EQUAL",
"hex" : "a91415c85c2472f5941b60a49462a2cfd0d17ab49d1c87",
"reqSigs" : 1,
"type" : "scripthash",
"addresses" : [
"2MuEQCZh7VB8pNrT4bj1CFZQh2oK7XZYLQf"
]
}
},
[...]
],
"blockhash" : "000000034def806f348cadf6a80660aed1cfc30ccbd1492a8ea87062800ea94d",
"confirmations" : 3,
"time" : 1409224896,
"blocktime" : 1409224896
}
Now we assume the deal is complete, the buyer got the goods and everyone is happy. Now the seller wants to get his Dash. As a 2-of-3 multisig was used, the transaction must be signed by 2 parties (seller + buyer or arbiter). The seller creates a transaction (we will reuse his public address from above).
Seller:
seller@testnet03:~$ ./dash-cli createrawtransaction '[{"txid":"a8b3bf5bcace91a8dbbddbf9b7eb027efb9bd001792f043ecf7b558aaa3cb951","vout":0}]' '{"n18cPEtj4ZfToPZxRszUz2XPts4eGsxiPk":777.77}'
010000000151b93caa8a557bcf3e042f7901d09bfb7e02ebb7f9dbbddba891ceca5bbfb3a80000000000ffffffff0140d6de1b120000001976a914d728be76cd74b5d148eba2a49246b80dac12f73e88ac00000000
And partially signs it, using the redeemScript, scriptPubKey and his private key
Seller:
seller@testnet03:~$ ./dash-cli signrawtransaction '010000000151b93caa8a557bcf3e042f7901d09bfb7e02ebb7f9dbbddba891ceca5bbfb3a80000000000ffffffff0140d6de1b120000001976a914d728be76cd74b5d148eba2a49246b80dac12f73e88ac00000000' '[{"txid":"a8b3bf5bcace91a8dbbddbf9b7eb027efb9bd001792f043ecf7b558aaa3cb951","vout":0,"scriptPubKey":"a91415c85c2472f5941b60a49462a2cfd0d17ab49d1c87","redeemScript":"522102a862b412ff9e3afd01a2873a02622897f6df92e3fc85597788b898309fec882e210315617694c9d93f0ce92769e050a6868ffc74d229077379c0af8bfb193c3d351c210287ce6cf69b85593ce7db801874c9a2fb1b653dbe5dd9ebfa73e98b710af9e9ce53ae"}]' '["cVQVgBr8sW4FTPYz16BSCo1PcAfDhpJArgMPdLxKZQWcVFwMXRXx"]'
{
"hex" : "010000000151b93caa8a557bcf3e042f7901d09bfb7e02ebb7f9dbbddba891ceca5bbfb3a800000000b500483045022051a7f0e95a5066859ce37fe64a6e7ab6e30bfe9a68d9d3f1453064052eab5625022100c0067a33d2ee02478d89fc1a71f3a93c883db022e970886181c50ca9afc3dfa4014c69522102a862b412ff9e3afd01a2873a02622897f6df92e3fc85597788b898309fec882e210315617694c9d93f0ce92769e050a6868ffc74d229077379c0af8bfb193c3d351c210287ce6cf69b85593ce7db801874c9a2fb1b653dbe5dd9ebfa73e98b710af9e9ce53aeffffffff0140d6de1b120000001976a914d728be76cd74b5d148eba2a49246b80dac12f73e88ac00000000",
"complete" : false
}
Note that the output hex is getting longer, but complete flag is "false" as the transaction needs another signature. So now either the buyer or the arbiter can complete the signature of the transaction, using the output from above and their private key. Let's assume the buyer is completing the signature.
Buyer:
buyer@testnet03:~$ ./dash-cli signrawtransaction '010000000151b93caa8a557bcf3e042f7901d09bfb7e02ebb7f9dbbddba891ceca5bbfb3a800000000b500483045022051a7f0e95a5066859ce37fe64a6e7ab6e30bfe9a68d9d3f1453064052eab5625022100c0067a33d2ee02478d89fc1a71f3a93c883db022e970886181c50ca9afc3dfa4014c69522102a862b412ff9e3afd01a2873a02622897f6df92e3fc85597788b898309fec882e210315617694c9d93f0ce92769e050a6868ffc74d229077379c0af8bfb193c3d351c210287ce6cf69b85593ce7db801874c9a2fb1b653dbe5dd9ebfa73e98b710af9e9ce53aeffffffff0140d6de1b120000001976a914d728be76cd74b5d148eba2a49246b80dac12f73e88ac00000000' '[{"txid":"a8b3bf5bcace91a8dbbddbf9b7eb027efb9bd001792f043ecf7b558aaa3cb951","vout":0,"scriptPubKey":"a91415c85c2472f5941b60a49462a2cfd0d17ab49d1c87","redeemScript":"522102a862b412ff9e3afd01a2873a02622897f6df92e3fc85597788b898309fec882e210315617694c9d93f0ce92769e050a6868ffc74d229077379c0af8bfb193c3d351c210287ce6cf69b85593ce7db801874c9a2fb1b653dbe5dd9ebfa73e98b710af9e9ce53ae"}]' '["cP9DFmEDb11waWbQ8eG1YUoZCGe59BBxJF3kk95PTMXuG9HzcxnU"]'
{
"hex" : "010000000151b93caa8a557bcf3e042f7901d09bfb7e02ebb7f9dbbddba891ceca5bbfb3a800000000fdff0000483045022051a7f0e95a5066859ce37fe64a6e7ab6e30bfe9a68d9d3f1453064052eab5625022100c0067a33d2ee02478d89fc1a71f3a93c883db022e970886181c50ca9afc3dfa401493046022100dc3f61fdb7b8ea7ec729682d355646c922f5512054c4985534e6b91040c5bd660221008b48c117ec95814f573d33bca981cb703fdd9fa6e52aa8fe67423e06cad87215014c69522102a862b412ff9e3afd01a2873a02622897f6df92e3fc85597788b898309fec882e210315617694c9d93f0ce92769e050a6868ffc74d229077379c0af8bfb193c3d351c210287ce6cf69b85593ce7db801874c9a2fb1b653dbe5dd9ebfa73e98b710af9e9ce53aeffffffff0140d6de1b120000001976a914d728be76cd74b5d148eba2a49246b80dac12f73e88ac00000000",
"complete" : true
}
The signature is complete now, and either of the parties can transmit the transaction to the network.
Buyer:
buyer@testnet03:~$ ./dash-cli sendrawtransaction 010000000151b93caa8a557bcf3e042f7901d09bfb7e02ebb7f9dbbddba891ceca5bbfb3a800000000fdff0000483045022051a7f0e95a5066859ce37fe64a6e7ab6e30bfe9a68d9d3f1453064052eab5625022100c0067a33d2ee02478d89fc1a71f3a93c883db022e970886181c50ca9afc3dfa401493046022100dc3f61fdb7b8ea7ec729682d355646c922f5512054c4985534e6b91040c5bd660221008b48c117ec95814f573d33bca981cb703fdd9fa6e52aa8fe67423e06cad87215014c69522102a862b412ff9e3afd01a2873a02622897f6df92e3fc85597788b898309fec882e210315617694c9d93f0ce92769e050a6868ffc74d229077379c0af8bfb193c3d351c210287ce6cf69b85593ce7db801874c9a2fb1b653dbe5dd9ebfa73e98b710af9e9ce53aeffffffff0140d6de1b120000001976a914d728be76cd74b5d148eba2a49246b80dac12f73e88ac00000000
cf1a75672006a05b38d94acabb783f81976c9e83a8de4da9cbec0de711cf2d71
Again, this transaction can be traced in a block explorer. And the seller is happy to receive his coins at his public address as follows.
Seller:
seller@testnet03:~$ dash-cli listtransactions "" 1
[
{
"account" : "",
"address" : "n18cPEtj4ZfToPZxRszUz2XPts4eGsxiPk",
"category" : "receive",
"amount" : 777.77000000,
"confirmations" : 17,
"blockhash" : "000000067a13e9bd5c1d5ff48cb4b9f8414a6adcc470656262731bfd013510dd",
"blockindex" : 9,
"blocktime" : 1409228449,
"txid" : "cf1a75672006a05b38d94acabb783f81976c9e83a8de4da9cbec0de711cf2d71",
"time" : 1409227887,
"timereceived" : 1409227887
}
]
Multiple wallets¶
It is possible to select between different Dash wallets when starting
Dash Core by specifying the wallet
argument, or even run multiple
instances of Dash Core simultaneously by specifying separate data
directories using the datadir
argument.
To begin, install the Dash Core wallet for your system according to the
installation instructions. When you get
to the step Running Dash Core for the first time, you can decide
whether you want to maintain separate wallet.dat
files in the
default location (simpler if you do not need to run the wallets
simultaneously), or specify entirely separate data directories such as
e.g. C:\Dash1
(simpler if you do want to run the wallets
simultaneously).
For this scenario, we will create two shortcuts on the desktop, each
using a different wallet file. Navigate to the binary file used to start
Dash Core (typically locatd at C:\Program Files\DashCore\dash-qt.exe
or similar) and create two shortcuts on the desktop. Then open the
Properties window for each of these shortcuts.
Modify the Target property of each shortcut to point to a different
wallet file by specifying the wallet
argument when starting the
wallet. If you do not specify a wallet
argument, wallet.dat
will
be used by default. The specified wallet file will be created if it does
not exist. The following example demonstrates two wallets named
workwallet.dat
and homewallet.dat
:
- Wallet Target 1:
"C:\Program Files\DashCore\dash-qt.exe" -wallet=workwallet.dat
- Wallet Target 2:
"C:\Program Files\DashCore\dash-qt.exe" -wallet=homewallet.dat
You can now use the two icons to quickly and easily open different wallets from your desktop. Note that you cannot open both wallets simultaneously. To do this, you will need two separate data directories, as described below.
Start Dash Core and allow it to synchronize with the network, then close
Dash Core again. You can now create two directories at e.g. C:\Dash1
and C:\Dash2
and copy the blocks
and chainstate
directories
from the synchronized data directory into the new directories. Each of
these will serve as a separate data directory, allowing you to run two
instances of Dash Core simultaneously. Create two (or more) shortcuts on
your desktop as described above, then specify arguments for datadir
as shown below:
- Datadir Target 1:
"C:\Program Files\DashCore\dash-qt.exe" -datadir=C:\Dash1 -listen=0
- Datadir Target 2:
"C:\Program Files\DashCore\dash-qt.exe" -datadir=C:\Dash2 -listen=0
You can now use the two icons to quickly and easily open different wallets simultaneously from your desktop. Both wallets maintain separate and full copies of the blockchain, which may use a lot of drive space. For more efficient use of drive space, consider using an SPV or "light" wallet such as Dash Electrum to maintain multiple separate wallets without keeping a full copy of the blockchain.
KeePass¶
Since version 0.11.0, Dash Core has supported integration with KeePass, the popular open source password manager. This guide describes how to configure the association between Dash Core and KeePass, and how to save a Dash Core wallet passphrase in KeePass using the integration. When this is done, KeePass can be used to unlock the wallet.
You will need the following:
- KeePass 2: http://keepass.info
- KeePassHttp plugin: https://github.com/pfn/keepasshttp
- Dash Core: https://www.dash.org
If not already installed, install these packages according to the instructions linked below:
The following KeePass RPC commands are available in the Dash Core client console or server:
- keepass genkey
- Generates a base64 encoded 256 bit AES key that can be used for communication with KeePassHttp. This is only necessary for manual configuration. Use init for automatic configuration.
- keepass init
- Sets up the association between Dash and KeePass by generating an AES key and sending an association message to KeePassHttp. This will trigger KeePass to ask for an ID for the association. Returns the association and the base64 encoded string for the AES key.
- keepass setpassphrase
- Updates the passphrase in KeePassHttp to a new value. This should match the passphrase you intend to use for the wallet. Please note that the standard RPC commands walletpassphrasechange and the wallet encryption from the QT GUI already send the updates to KeePassHttp, so this is only necessary for manual manipulation of the password.
The following new arguments are available for dashd and dash-qt:
- keepass
- Use KeePass 2 integration using KeePassHttp plugin (default: 0)
- keepassport=<port>
- Connect to KeePassHttp on port <port> (default: 19455)
- keepasskey=<key>
- KeePassHttp key for AES encrypted communication with KeePass
- keepassid=<name>
- KeePassHttp id for the established association
- keepassname=<name>
- Name to construct url for KeePass entry that stores the wallet passphrase
Dash 일렉트럼 지갑¶
Dash 일렉트럼은 강력한 외부 서버를 사용하여 개인 컴퓨터의 키를 안전하게 유지하면서 블록 체인을 인덱스하는 간편한 지갑입니다. 트랜잭션은 Dash 블록 체인에서 SPV (Secure Payment Verification)라는 기술을 사용하여 확인되며, 블록헤더만 필요하고 전체 블록은 필요하지 않습니다. 즉, 지갑의 스타트업은 즉각 이루어지며 자금은 안전하고 모바일로 유지됩니다. 현재로써는 인스턴드샌드 및 프라이빗샌드 등의 고급 기능은 지원되지 않습니다.
Dash 일렉트럼은 비트코인을 위한 일렉트럼 지갑의 파생이라고 할 수 있습니다. 이 설명서에서는 Dash 일렉트럼 사용법을 다루고, 모든 Bitcoin 일렉트럼 기능(대부분 Dash 일렉트럼과 동일)에 대한 전체 설명서는 공식 문서 사이트 에서 확인할 수 있습니다.
설치하기¶
Download¶
You can download Dash Electrum from the official Dash website or the Dash Electrum minisite.
Dash Electrum is developed by community member akhavr and is released through his GitHub account.
You can optionally verify the integrity of your download by running the following commands (example for Linux):
wget https://github.com/akhavr/electrum-dash/releases/download/3.2.3.1/Dash-Electrum-3.2.3.1.tar.gz
sha256sum https://github.com/akhavr/electrum-dash/releases/download/3.2.3.1/Dash-Electrum-3.2.3.1.tar.gz
wget https://github.com/akhavr/electrum-dash/releases/download/3.2.3.1/SHA256SUMS.txt.asc
cat SHA256SUMS.txt.asc
You can also optionally verify the authenticity of your download as an
official release by akhavr. All releases of Dash Electrum are signed by
akhavr using GPG with the key 64A3 BA82 2F44 9D50
, verifiable here
on Keybase. Import the key, download the
ASC file for the current release of Dash Electrum and verify the
signature as follows:
curl https://keybase.io/akhavr/pgp_keys.asc | gpg --import
gpg --verify SHA256SUMS.txt.asc
Dash Electrum for Linux is available from a PPA for Ubuntu and Linux Mint, and as a source tarball for other systems. As of version 3.0.6, it requires Python 3 to run. Enter the following commands to install from PPA:
sudo add-apt-repository ppa:akhavr/dash-electrum
sudo apt update
sudo apt install electrum-dash
Enter the following commands (changing the version number to match the current version as necessary) in the terminal to install Dash Electrum from the source tarball:
sudo apt install python3-pyqt5 python3-pip python3-setuptools
wget https://github.com/akhavr/electrum-dash/releases/download/3.0.6.3/Electrum-DASH-3.0.6.3.tar.gz
tar -zxvf Electrum-DASH-3.0.6.3.tar.gz
cd Electrum-DASH-3.0.6.3
sudo python3 setup.py install
Simply download and run the DMG file. You may need to grant permission to install, depending on your security settings. Click through the installation wizard and run Dash Electrum from your Applications folder when complete.
Simply download and run the installer file to set up Dash Electrum. You may need to grant permission to install, depending on your security settings. Click through the installation wizard and run Dash Electrum from the Start menu when complete.
Download and run the APK file from https://electrum.dash.org to set up Dash Electrum. You may need to grant permission to install from unknown sources, depending on your security settings. Click through the installation wizard and run Dash Electrum when complete.
Creating a New Wallet¶
Dash Electrum gathers configuration data when run for the first time. For more on the concepts behind this process, skip to the later sections of this guide discussing backups, security, and addresses. When setting up Dash Electrum for the first time, a wizard will guide you through the process of creating your first wallet. The first screen asks how you would like to connect to the remote server. Select Auto connect and click Next to continue. You will see a notice that no wallet currently exists. Enter a name for your wallet (or accept the default name) and click Next to create your wallet.

You will be asked what kind of wallet you want to create. Choose between Standard wallet, Multi-signature wallet and Watch Dash addresses. If you are unsure, select Standard wallet and click Next to continue. You will then be asked how you want to store/recover the seed. If stored safely, a seed can be used to restore a lost wallet on another computer. Choose between Create a new seed, I already have a seed, Use public or private keys or Use a hardware device. If you are using Electrum Dash for the first time and not restoring an existing wallet, choose Create a new seed and click Next to continue.

Electrum Dash will generate your wallet and display the recovery seed. Write this seed down, ideally on paper and not in an electronic format, and store it somewhere safe. This seed is the only way you can recover your wallet if you lose access for any reason. To make sure you have properly saved your seed, Electrum Dash will ask you to type it in as a confirmation. Type the words in the correct order and click Next to continue.

A password optionally secures your wallet against unauthorized access. Adding a memorable, strong password now improves the security of your wallet by encrypting your seed from the beginning. Skipping encryption at this point by not selecting a password risks potential theft of funds later, however unlikely the threat may be. Enter and confirm a password, ensure the Encrypt wallet file checkbox is ticked and click Next to continue.
Your Dash Electrum wallet is now set up and ready for use.
Sending and receiving¶
You may own Dash stored in another software wallet, or on an exchange such as Bittrex or Kraken, or simply want to send or receive funds as a wage or business transaction. Funds can be transferred between these source and the Electrum wallet using Dash addresses. Your wallet contains multiple addresses, and will generate new addresses as necessary. Since the Dash blockchain is transparent to the public, it is considered best practice to use a new address for each transaction in order to maintain your privacy.
Sending¶
Click the Send tab to make a payment. Enter the destination address in the Pay to field, either manually or by pasting from the clipboard. Optionally enter a Description for to appear in your transaction history, followed by the Amount to be sent. The total amount of the transaction is the sum of the sent amount and transaction fee, which is calculated automatically. Dash Electrum issues a warning if the total transaction amount exceeds the wallet balance.
The wallet will request your password, then broadcast the transaction to the network and display a confirmation dialog with your transaction ID.

Receiving¶
You can view your receiving addresses by clicking the Receive tab. Double-click the Receiving address, then copy it to the clipboard by clicking the Copy to clipboard icon. If you intend to use the address repeatedly, you can also enter a description click Save to store the address in the Requests list. Clicking an address in the list will display the stored information in the top area, together with a QR code containing the same information.
Enter this address in the software sending the funds, send it to the person transferring funds to you or scan it directly from your mobile wallet. Once the transaction is complete, the balance will appear in the lower left corner of your wallet, and the indicator in the Requests table will change from Pending to Paid.
Once you have used an address, you can either continue using it or click New to generate a new address.
Monitoring transactions¶
The History tab lists all current and pending transactions. A transaction to an address in your wallet will appear in the list soon after it is made. Initially, this transaction will be marked as Unconfirmed, followed by a clock indicator on the left. As the Dash network processes the transaction, the status will update in the transaction history list. The network confirms transactions with a new block roughly every 2.5 minutes, and a transaction is considered confirmed (and therefore spendable) after six confirmations. These processed transactions are denoted with a green checkmark and the timestamp at which the transaction was made.


Dash Electrum wallet History tab immediately after receiving a transaction and after confirmation is complete
To view additional transaction details, right click a transaction on the History tab and select Details from the context menu. You can also use this menu to copy the transaction ID to the clipboard (this can be used as proof that a given transaction occurred), edit the transaction description for your records or view the transaction on an external block explorer.
Wallet security¶
Change password¶
To change the wallet's password, select the Wallet > Password option from the main menu, or click on the lock icon in the lower right of the main window. Enter and confirm a new secure password. Should you forget your wallets' password, all is not lost. Your wallet can be restored in its entirety using the backup procedure described here.
백업하기¶
In Dash Electrum, a seed is a complete backup of all addresses and transactions. Access your wallet's seed through the seed icon in the lower right of the main screen, or the Wallet > Seed main menu option. When prompted, enter the secure password you chose when setting up the Dash Electrum wallet.
Hand-copy the twelve words found in the box to a piece of paper and store it in a safe location. Remember, anyone who finds your seed can spend all of the funds in your wallet.
Alternatively, a backup file can be saved using the File > Save Copy main menu option. This file stores the wallet's encrypted seed along with any imported addresses. Restoring this backup will require the wallet password.
복구하기¶
The only thing needed to recover a Dash Electrum wallet on another computer is its seed. You can test wallet recovery with your current installation of Dash Electrum by selecting the File > New/Restore menu item. A dialog will appear asking you to name your new wallet. Enter a name, select Standard wallet as the wallet type and then choose I already have a seed.
Next, copy the twelve word seed into the text field.
If your seed was entered correctly, Dash Electrum gives you the option to add a password for your wallet. After restoring your wallet, Dash Electrum will list any existing transactions from this wallet. This process may take a few minutes, and the transactions may appear as Not Verified. This problem disappears after restarting the program.
To restore a wallet file without using the recovery seed, copy the file to the application data folder according to your operating system:
- Linux: Open Files, select Go > Go to folder, copy the path
~/.electrum-dash
and paste it into the dialog box. - macOS: Open Finder, select Go > Go to Folder, copy the path
~/.electrum-dash
and paste it into the dialog box. - Windows: Open Explorer, copy the path
%APPDATA%\Electrum-DASH
and paste it in to the address bar.
Frequently Asked Questions¶
How does Dash Electrum work?¶
Dash Electrum focuses on speed, low resource usage and providing a simple user experience for Dash. Startup times are instant because it operates in conjunction with high-performance servers that handle the most complicated parts of the Dash system.
Does Dash Electrum trust servers?¶
Not really; the Dash Electrum client never sends private keys to the servers. In addition, it verifies the information reported by servers using a technique called Simple Payment Verification.
What is the Seed?¶
The seed is a random phrase that is used to generate your private keys. Example:
constant forest adore false green weave stop guy fur freeze giggle clock
Your wallet can be entirely recovered from its seed. To do this, select the I already have a seed option during startup.
How secure is the seed?¶
The seed created by Dash Electrum has 128 bits of entropy. This means that it provides the same level of security as a Dash private key (of length 256 bits). Indeed, an elliptic curve key of length n provides n/2 bits of security.
What are change addresses?¶
The Dash Electrum wallet design and workflow are based on a concept called a “wallet generation seed”. This seed is a unique, randomly- selected list of twelve words. A Dash Electrum wallet uses its seed as a template for generating addresses.
To understand the problem that seeds solve, browse to the Electrum Receive tab. Next, open the collapsible entry marked Change.
Notice that the total balance does not only show the sum of all receiving addresses, but also the separately listed Change addresses. Where did these new change addresses come from and why does the first one now hold funds?
Dash is an electronic cash system, meaning that it shares much in common with the process of using paper banknotes. Although some cash payments involve exact change, many do not. You tend to “overpay” when using cash, and expect to receive the difference as change. Perhaps surprisingly, this is how Dash transactions work as well. If the entire balance of an address is not required for any given transaction, the remainder is sent to a new and unused address under control of the same wallet. This address is generated deterministically (rather than randomly) from the wallet seed, which means that any other wallet will also regenerate the change addresses in the same order from the same recovery seed, and have access to the balances.
Spending the entire balance and sending any remainder to a change address is considered good practice because it prevents the transaction recipient from linking transactions by browsing the blockchain, thus compromising your privacy. If privacy is not a concern, change addresses can be disabled via the Tools > Electrum preferences menu option.
How can I send the maximum available in my wallet?¶
Type an exclamation mark (!) in the Amount field or simply click the Max button. The fee will be automatically adjusted for that amount.
How can I send Dash without paying a transaction fee?¶
You can create a zero fee transaction in the GUI by following these steps:
- Enable the Edit fees manually option
- Enter 0 in the Fee field
- Enter the amount in the Amount field
Note that transactions without fees might not be relayed by the Dash Electrum server, or by the Dash network.
Is there a way to enter amounts in USD in Dash Electrum?¶
Yes, go to Tools > Prefernce > Fiat and select a Fiat currency to display the current exchange rate from the chosen Source.
What does it mean to “Freeze” an address in Dash Electrum?¶
When you freeze an address, the funds in that address will not be used for sending Dash. You cannot send Dash if you don’t have enough funds in your non-frozen addresses.
How is the wallet encrypted?¶
Dash Electrum uses two separate levels of encryption:
- Your seed and private keys are encrypted using AES-256-CBC. The private keys are decrypted only briefly, when you need to sign a transaction; for this you need to enter your password. This is done in order to minimize the amount of time during which sensitive information is unencrypted in your computer's memory.
- In addition, your wallet file may be encrypted on disk. Note that the wallet information will remain unencrypted in the memory of your computer for the duration of your session. If a wallet is encrypted, then its password will be required in order to open it. Note that the password will not be kept in memory; Dash Electrum does not need it in order to save the wallet on disk, because it uses asymmetric encryption (ECIES).
Wallet file encryption is activated by default since version 2.8. It is intended to protect your privacy, but also to prevent you from requesting Dash on a wallet that you do not control.
I have forgotten my password but still have my seed. Is there any way I can recover my password?¶
It is not possible to recover your password. However, you can restore your wallet from its seed phrase and choose a new password. If you lose both your password and your seed, there is no way to recover your money. This is why we ask you to save your seed phrase on paper.
To restore your wallet from its seed phrase, create a new wallet, select the type, choose I already have a seed and proceed to input your seed phrase.
Does Dash Electrum support cold wallets?¶
Yes. See the cold storage section.
Can I import private keys from other Dash clients?¶
In Dash Electrum 2.0, you cannot import private keys in a wallet that has a seed. You should sweep them instead.
If you want to import private keys and not sweep them you need to create a special wallet that does not have a seed. For this, create a new wallet, select Use public or private keys, and instead of typing your seed, type a list of private keys, or a list of addresses if you want to create a watching-only wallet. A master public (xpub) or private (xprv) will also work to import a hierarchical deterministic series of keys. You will need to back up this wallet, because it cannot be recovered from seed.
Can I sweep private keys from other Dash clients?¶
Sweeping private keys means to send all the Dash they control to an existing address in your wallet. The private keys you sweep do not become a part of your wallet. Instead, all the Dash they control are sent to an address that has been deterministically generated from your wallet seed.
To sweep private keys go to Wallet > Private Keys > Sweep. Enter the private keys in the appropriate field. Leave the Address field unchanged. This is the destination address from your existing Dash Electrum wallet. Click on Sweep. Dash Electrum then takes you to the Send tab where you can set an appropriate fee and then click on Send to send the coins to your wallet.
Where is my wallet file located?¶
The default wallet file is called default_wallet and is created when you first run the application. It is located under the /wallets folder.
- Linux: Open Files, select Go > Go to folder, copy the path
~/.electrum-dash
and paste it into the dialog box - macOS: Open Finder, select Go > Go to Folder, copy the path
~/.electrum-dash
and paste it into the dialog box - Windows: Open Explorer, copy the path
%APPDATA%\Electrum-DASH
and paste it in to the address bar
Can I do bulk payments with Dash Electrum?¶
You can create a transaction with several outputs. In the GUI, type each address and amount on a line, separated by a comma.
Amounts are in the current unit set in the client. The total is shown in the GUI. You can also import a CSV file in the Pay to field by clicking on the folder icon.
Can Dash Electrum create and sign raw transactions?¶
Dash Electrum lets you create and sign raw transactions right from the user interface using a form.
Dash Electrum freezes when I try to send Dash¶
This might happen if you are trying to spend a large number of transactions outputs (for example, if you have collected hundreds of donations from a Dash faucet). When you send Dash, Dash Electrum looks for unspent coins that are in your wallet in order to create the new transaction. Unspent coins can have different values, much like physical coins and bills.
If this happens, you should consolidate your transaction inputs by sending smaller amounts of Dash to one of your wallet addresses; this would be the equivalent of exchanging a stack of nickels for a dollar bill.
What is the gap limit?¶
The gap limit is the maximum number of consecutive unused addresses in your deterministic sequence of addresses. Dash Electrum uses it in order to stop looking for addresses. In Dash Electrum 2.0, it is set to 20 by default, so the client will get all addresses until 20 unused addresses are found.
How can I pre-generate new addresses?¶
Dash Electrum will generate new addresses as you use them, until it hits the gap limit.
If you need to pre-generate more addresses, you can do so by typing wallet.create_new_address() in the console. This command will generate one new address. Note that the address will be shown with a red background in the address tab, to indicate that it is beyond the gap limit. The red color will remain until the gap is filled.
WARNING: Addresses beyond the gap limit will not automatically be recovered from seed. To recover them will require either increasing the client’s gap limit or generating new addresses until the used addresses are found.
If you wish to generate more than one address, you may use a ‘for’ loop. For example, if you wanted to generate 50 addresses, you could do this:
for x in range(0, 50):
print wallet.create_new_address()
How to upgrade Dash Electrum?¶
Warning: always save your wallet seed on paper before doing an upgrade.
To upgrade Dash Electrum, just install the most recent version. The way to do this will depend on your OS. Note that your wallet files are stored separately from the software, so you can safely remove the old version of the software if your OS does not do it for you.
Some Dash Electrum upgrades will modify the format of your wallet files. For this reason, it is not recommended to downgrade Dash Electrum to an older version once you have opened your wallet file with the new version. The older version will not always be able to read the new wallet file.
The following issues should be considered when upgrading Dash Electrum 1.x wallets to Dash Electrum 2.x:
- Dash Electrum 2.x will need to regenerate all of your addresses during the upgrade process. Please allow it time to complete, and expect it to take a little longer than usual for Dash Electrum to be ready.
- The contents of your wallet file will be replaced with a Dash Electrum 2 wallet. This means Dash Electrum 1.x will no longer be able to use your wallet once the upgrade is complete.
- The Addresses tab will not show any addresses the first time you launch Dash Electrum 2. This is expected behaviour. Restart Dash Electrum 2 after the upgrade is complete and your addresses will be available.
- Offline copies of Dash Electrum will not show the addresses at all because it cannot synchronize with the network. You can force an offline generation of a few addresses by typing the following into the Console: wallet.synchronize(). When it’s complete, restart Dash Electrum and your addresses will once again be available.
Advanced functions¶
Dash Electrum is based on Electrum, a Bitcoin wallet. Most functions are identical, which means it is not necessary to reproduce the entirety of the Electrum documentation here. The following sections describe some frequently used advanced functions. For further details on other advanced functions in Electrum for both Bitcoin and Dash, please click the links below.
- Electrum documentation
- Electrum seed version system
- Electrum protocol specification
- Serialization of unsigned or partially signed transactions
- Simple Payment Verification
- The Python Console
- Using Electrum Through Tor
Masternodes in Dash Electrum¶
Dash Electrum supports masternode creation through an interface called the Masternode Manager. The functionality is available starting from the protocol version 70201.
The Masternode Manager can be accessed either from the Wallet > Masternodes menu or by pressing Ctrl+M. This manager displays the status of your masternode(s). A wallet with no masternodes will begin with a default masternode for which you can fill in the necessary information.
The manager displays the following data about each masternode you have set up:
- The alias (name) of the masternode.
- The status of the masternode (e.g. whether it has been activated).
- The collateral payment of the masternode.
- The private delegate key.
- The IP address and port that your masternode can be reached at.
- The protocol version that your masternode supports.
A masternode requires a "delegate" key, which is known to both Dash Electrum and your masternode. Your masternode will use this key to sign messages, and the Dash network will know that you authorized it to. A delegate key can either be one of your Dash Electrum keys, or an imported key. Either way, your masternode and Dash Electrum will both need to know the private key.
To use one of your Dash Electrum keys as a delegate key, put its private key in the Masternode Private Key field of the View Masternode tab.
Certain information about your masternode is required. The IP address and port that your masternode uses must be supplied. Also, the protocol version that your masternode supports is required. This information is filled in automatically if you import a "masternode.conf" file.
To start a masternode, you must have a 1000 DASH payment available in your wallet. You can scan your wallet for 1000 DASH payments in the Choose Collateral tab of the Masternode Manager.
After scanning, a list of available 1000 DASH collateral payments will be displayed. Selecting one of them will cause the selected masternode's data to be filled in, though these changes won't be saved until you click the Save button in the lower-right corner of the tab.
After selecting a collateral payment and specifying a delegate key, you can activate your masternode. Do this by clicking Activate Masternode in the Activate Masternode tab of the Masternode Manager. If the Activate Masternode button cannot be clicked, look at the message in the Status bar. It will show you why your masternode cannot be activated.
Activation will require your password if your wallet is encrypted, because a message must be signed. After waiting for Dash Electrum to sign and broadcast your masternode announcement, you will be presented with a message detailing the result. The status of your masternode will be updated in the table and the View Masternode tab.
You can import a masternode.conf file using the Masternode.conf tab of the Masternode Manager. This is the recommended way of setting up masternodes, as it allows you to configure masternodes for Dash Core and Dash Electrum in the same way. Importing a masternode.conf file will automatically set up one or more masternode configurations in the Masternode Manager.
Multisig wallets¶
This tutorial shows how to create a 2 of 2 multisig wallet. A 2 of 2 multisig consists of 2 separate wallets (usually on separate machines and potentially controlled by separate people) that have to be used in conjunction in order to access the funds. Both wallets have the same set of addresses.
- A common use-case for this is if you want to collaboratively control funds: maybe you and your friend run a company together and certain funds should only be spendable if you both agree.
- Another one is security: one of the wallets can be on your main machine, while the other one is on a offline machine. That way you make it very hard for an attacker or malware to steal your coins.
Each cosigner needs to do this: In the menu select File > New, then select Multi-signature wallet. On the next screen, select 2 of 2.
After generating and confirming your recovery seed, you will be shown the xpub address for this wallet.
After generating a seed (keep it safely!) you will need to provide the master public key of the other wallet. Of course when you create the other wallet, you put the master public key of the first wallet.
You will need to do this in parallel for the two wallets. Note that you can press cancel during this step, and reopen the file later.
Check that both wallets generate the same set of Addresses. You can now send to these Addresses (note they start with a “7”) with any wallet that can send to P2SH Addresses.
To spend coins from a 2-of-2 wallet, two cosigners need to sign a transaction collaboratively. To accomplish this, create a transaction using one of the wallets (by filling out the form on the Send tab). After signing, a window is shown with the transaction details.
The transaction now has to be sent to the second wallet. Several options are available for this:
You can transfer the file on a USB stick
You can save the partially signed transaction to a file (using the Save button), transfer that to the machine where the second wallet is running (via USB stick, for example) and load it there (using Tools > Load transaction > From file)
You can use QR codes
A button showing a QR code icon is also available. Clicking this button will display a QR code containing the transaction, which can be scanned into the second wallet (Tools > Load Transaction > From QR Code)
With both of the above methods, you can now add the second signature to the transaction (using the Sign button). It will then be broadcast to the network.
Sweep a paper wallet¶
You may have received a paper wallet as a gift from another Dash user, or previously stored one in a safe deposit box. Funds are swept from a paper wallet into a live wallet by importing its private key, which is a long sequence of characters starting with the number "7" or the capital letter "X". The example below displays a private key (WIF format).
Funds from paper wallets are swept into an Dash Electrum Wallet by creating a transaction using the private key and sending it to a new address from your wallet. This is necessary because it is not possible to add new public or private keys to an existing deterministic series of addresses derived from a seed phrase.
Begin by selecting the Wallet > Private Keys > Sweep menu item. The Sweep private keys dialog will appear, where you can paste your private key(s). An unused address controlled by your Dash Electrum wallet appears in the lower field, and can be changed by clicking the Address button. Once you have pasted your private key, click the Sweep button.
Dash Electrum then prepares a transaction using the private key you just imported to derive the public address for the transaction input and the address from your wallet as the output, and signs the message. Click Broadcast to enter the transaction on the blockchain. The balance will then appear in your wallet under the specified address. The address you swept is left with zero balance.
Cold storage¶
This section shows how to create an offline wallet that holds your Dash and a watching-only online wallet that is used to view its history and to create transactions that have to be signed with the offline wallet before being broadcast on the online one.
Create a wallet on an offline machine, as per the usual process (File > New). After creating the wallet, go to Wallet -> Master Public Keys.
The Master Public Key of your wallet is the string shown in this popup window. Transfer that key to your online machine somehow.
On your online machine, open Dash Electrum and select File > New/Restore. Enter a name for the wallet and select Use public or private keys. Paste your master public key in the box. Click Next to complete the creation of your wallet. When you’re done, you should see a popup informing you that you are opening a watching-only wallet.
The transaction history of your cold wallet should then appear.
Go to the Send tab on your online watching-only wallet, input the transaction data and click Send. A window will appear to inform you that a transaction fee will be added. Continue. In the window that appears up, click Save and save the transaction file somewhere on your computer. Close the window and transfer the transaction file to your offline machine (e.g. with a USB stick).
On your offline wallet, select Tools > Load transaction -> From file in the menu and select the transaction file created in the previous step. Click Sign. Once the transaction is signed, the Transaction ID appears in its designated field. Click Save, store the file somewhere on your computer, and transfer it back to your online machine.
On your online machine, select Tools -> Load transaction -> From file from the menu. Select the signed transaction file. In the window that opens up, click Broadcast. The transaction will be broadcast over the Dash network.
Command line¶
Dash Electrum has a powerful command line available when running under Linux or macOS. This section will show you a few basic principles.
To see the list of Dash Electrum commands, type:
electrum help
To see the documentation for a command, type:
electrum help <command>
The arguments passed to commands may be one of the following magic words: ! ? : -.
The exclamation mark ! is a shortcut that means ‘the maximum amount available’. Note that the transaction fee will be computed and deducted from the amount. Example:
electrum payto Xtdw4fezqbSpC341vcr8u9HboiJMFa9gBq !
A question mark ? means that you want the parameter to be prompted. Example:
electrum signmessage Xtdw4fezqbSpC341vcr8u9HboiJMFa9gBq ?
Use a colon : if you want the prompted parameter to be hidden (not echoed in your terminal). Note that you will be prompted twice in this example, first for the private key, then for your wallet password:
electrum importprivkey :
A parameter replaced by a dash - will be read from standard input (in a pipe):
cat LICENCE | electrum signmessage Xtdw4fezqbSpC341vcr8u9HboiJMFa9gBq -
You can use DNS aliases in place of bitcoin addresses, in most commands:
electrum payto ecdsa.net !
Command outputs are either simple strings or json structured data. A very useful utility is the ‘jq’ program. Install it with:
sudo apt-get install jq
The following examples use it.
We may use a variable to store the signature, and verify it:
sig=$(cat LICENCE| electrum signmessage Xtdw4fezqbSpC341vcr8u9HboiJMFa9gBq -)
And:
cat LICENCE | electrum verifymessage Xtdw4fezqbSpC341vcr8u9HboiJMFa9gBq $sig -
The listunspent command returns a list of dict objects, with various fields. Suppose we want to extract the value field of each record. This can be achieved with the jq command:
electrum listunspent | jq 'map(.value)'
Incoming transactions have a positive ‘value’ field:
electrum history | jq '.[] | select(.value>0)'
The following command selects transactions that were timestamped after a given date:
after=$(date -d '07/01/2015' +"%s")
electrum history | jq --arg after $after '.[] | select(.timestamp>($after|tonumber))'
Similarly, we may export transactions for a given time period:
before=$(date -d '08/01/2015' +"%s")
after=$(date -d '07/01/2015' +"%s")
electrum history | jq --arg before $before --arg after $after '.[] | select(.timestamp>($after|tonumber) and .timestamp<($before|tonumber))'
First we need the public key of a wallet address:
pk=$(electrum getpubkeys Xtdw4fezqbSpC341vcr8u9HboiJMFa9gBq| jq -r '.[0]')
Encrypt:
cat | electrum encrypt $pk -
Decrypt:
electrum decrypt $pk ?
Note: this command will prompt for the encrypted message, then for the wallet password.
The following command will export the private keys of all wallet addresses that hold some Dash:
electrum listaddresses --funded | electrum getprivatekeys -
This will return a list of lists of private keys. In most cases, you want to get a simple list. This can be done by adding a jq filer, as follows:
electrum listaddresses --funded | electrum getprivatekeys - | jq 'map(.[0])'
Finally, let us use this list of private keys as input to the sweep command:
electrum listaddresses --funded | electrum getprivatekeys - | jq 'map(.[0])' | electrum sweep - [destination address]
Using cold storage with the command line¶
This section will show you how to sign a transaction with an offline Dash Electrum wallet using the command line.
With your online (watching-only) wallet, create an unsigned transaction:
electrum payto Xtdw4fezqbSpC341vcr8u9HboiJMFa9gBq 0.1 --unsigned > unsigned.txn
The unsigned transaction is stored in a file named ‘unsigned.txn’. Note that the –unsigned option is not needed if you use a watching-only wallet.
You may view it using:
cat unsigned.txn | electrum deserialize -
The serialization format of Dash Electrum contains the master public key needed and key derivation used by the offline wallet to sign the transaction. Thus we only need to pass the serialized transaction to the offline wallet:
cat unsigned.txn | electrum signtransaction - > signed.txn
The command will ask for your password, and save the signed transaction in ‘signed.txn’.
Send your transaction to the Dash network, using broadcast:
cat signed.txn | electrum broadcast -
If successful, the command will return the ID of the transaction.
How to accept Dash on a website using Dash Electrum¶
This tutorial will show you how to accept dash on a website with SSL signed payment requests. It is updated for Dash Electrum 2.6.
- A webserver serving static HTML
- A SSL certificate (signed by a CA)
- Electrum version >= 2.6
Create a wallet on your web server:
electrum create
You can also use a watching only wallet (restored from xpub), if you want to keep private keys off the server. Once your wallet is created, start Dash Electrum as a daemon:
electrum daemon start
You should have a private key and a public certificate for your domain. Create a file that contains only the private key:
-----BEGIN PRIVATE KEY-----
your private key
-----BEGIN END KEY-----
Set the path to your the private key file with setconfig:
electrum setconfig ssl_privkey /path/to/ssl.key
Create another file that contains your certificate and the list of certificates it depends on, up to the root CA. Your certificate must be at the top of the list, and the root CA at the end:
-----BEGIN CERTIFICATE-----
your cert
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
intermediate cert
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
root cert
-----END CERTIFICATE-----
Set the ssl_chain path with setconfig:
electrum setconfig ssl_chain /path/to/ssl.chain
This directory must be served by your webserver (eg Apache):
electrum setconfig requests_dir /var/www/r/
By default, Dash Electrum will display local URLs, starting with ‘file://‘ In order to display public URLs, we need to set another configuration variable, url_rewrite. For example:
electrum setconfig url_rewrite "['file:///var/www/','https://electrum.org/']"
electrum addrequest 3.14 -m "this is a test"
{
"URI": "dash:Xtdw4fezqbSpC341vcr8u9HboiJMFa9gBq?amount=3.14&r=https://electrum.org/r/7c2888541a",
"address": "Xtdw4fezqbSpC341vcr8u9HboiJMFa9gBq",
"amount": 314000000,
"amount (DASH)": "3.14",
"exp": 3600,
"id": "7c2888541a",
"index_url": "https://electrum.org/r/index.html?id=7c2888541a",
"memo": "this is a test",
"request_url": "https://electrum.org/r/7c2888541a",
"status": "Pending",
"time": 1450175741
}
This command returns a json object with two URLs:
- request_url is the URL of the signed BIP70 request.
- index_url is the URL of a webpage displaying the request.
Note that request_url and index_url use the domain name we defined in url_rewrite. You can view the current list of requests using the listrequests command.
Let us open index_url in a web browser.
The page shows the payment request. You can open the dash: URI with a wallet, or scan the QR code. The bottom line displays the time remaining until the request expires.
This page can already be used to receive payments. However, it will not detect that a request has been paid; for that we need to configure websockets.
Get SimpleWebSocketServer from here:
git clone https://github.com/ecdsa/simple-websocket-server.git
Set websocket_server and websocket_port in your config:
electrum setconfig websocket_server <FQDN of your server>
electrum setconfig websocket_port 9999
And restart the daemon:
electrum daemon stop
electrum daemon start
Now, the page is fully interactive: it will update itself when the payment is received. Please notice that higher ports might be blocked on some client’s firewalls, so it is more safe for example to reverse proxy websockets transmission using standard 443 port on an additional subdomain.
Commands to the Dash Electrum daemon can be sent using JSONRPC. This is useful if you want to use Dash Electrum in a PHP script.
Note that the daemon uses a random port number by default. In order to use a stable port number, you need to set the rpcport configuration variable (and to restart the daemon):
electrum setconfig rpcport 7777
With this setting, we can perform queries using curl or PHP. Example:
curl --data-binary '{"id":"curltext","method":"getbalance","params":[]}' http://127.0.0.1:7777
Query with named parameters:
curl --data-binary '{"id":"curltext","method":"listaddresses","params":{"funded":true}}' http://127.0.0.1:7777
Create a payment request:
curl --data-binary '{"id":"curltext","method":"addrequest","params":{"amount":"3.14","memo":"test"}}' http://127.0.0.1:7777
Dash 안드로이드 지갑¶
Dash는 Android 용 독립형 지갑을 제공하며 Dash 예산에 따라 개발이 지원됩니다. Dash Android W지갑은 연락처 관리 및 인스턴트샌드를 포함한 Dash의 고급 기능을 지원합니다. 신속한 전송, 지갑 백업 및 복원, 자주 사용하는 주소록의 주소록 유지, NFC 결제, 종이 지갑 스윕 등 QR 코드를 스캔하고 표시 할 수 있습니다.
설치하기¶
From APK¶
Some Android phone do not have access to the Google Play Store because the phone software, network provider or country may not allow it. You can install the app manually by first enabling installation of external sources (if you have not already done so) and then downloading and installing an APK file. Follow these instructions:
- Ensure your Android version is at least 4.0.3 by going to Settings → About phone and checking the version number.
- Enable Unknown sources by going to Settings → Security → Unknown sources. Read and accept the warning.
- Using your phone, download the latest version of the APK from this link.
- If you cannot use your phone to go online, download the APK using your PC instead and copy it to your phone using a cable or Bluetooth. You may need a file browser to find the copied file. ES File Explorer is recommended for this.
You can also install an APK file directly from your computer using the Android Debug Bridge (ADB). Follow these instructions:
Ensure your Android version is at least 4.0.3 by going to Settings → About phone and checking the version number.
Ensure you have a copy of ADB on your PC. This is included in the Android SDK Platform Tools for Mac, Windows or Linux.
Enable Unknown sources by going to Settings → Security → Unknown sources. Read and accept the warning.
Enable USB debugging by going to Settings → Developer options → USB debugging. If Developer options is not available, go to About phone instead, scroll down, and tap on the Build number seven times.
Using your PC, download the latest version of the APK from this link.
Connect your phone to the PC, open a terminal/command prompt window and type:
adb install <<path to .apk file>>
From source¶
The source code for the Dash Android wallet is available on GitHub. The following
instructions describe how to compile an APK from source under an up-to-
date installation of Ubuntu 18.04 LTS with a single non-root user. Note
that NDK version 12b is required, instead of installing the latest
version using sdkmanager
. Begin by installing dependencies and
downloading the latest Android SDK Tools:
sudo apt install openjdk-8-jdk-headless unzip make
mkdir android-sdk-linux
cd android-sdk-linux
wget https://dl.google.com/android/repository/sdk-tools-linux-3859397.zip
wget https://dl.google.com/android/repository/android-ndk-r12b-linux-x86_64.zip
unzip sdk-tools-linux-3859397.zip
unzip android-ndk-r12b-linux-x86_64.zip
Next, update the SDK Tools and download the necessary SDK platform bundles and dependencies, then add and load the appropriate environment variables:
./tools/bin/sdkmanager --update
./tools/bin/sdkmanager "platforms;android-15" "platforms;android-25" "build-tools;25.0.2"
echo 'export ANDROID_HOME=$HOME/android-sdk-linux' >> ~/.bashrc
echo 'export ANDROID_NDK_HOME=$ANDROID_HOME/android-ndk-r12b' >> ~/.bashrc
source ~/.bashrc
cd ~
Now that the build environment is ready, download and build the Dash Android Wallet source:
git clone https://github.com/HashEngineering/dash-wallet.git
cd dash-wallet
./gradlew clean build -x test
The built APK files are now available in the
~/dash-wallet/wallet/build/outputs/apk
folder.
Getting started¶
Creating a new wallet¶
When you first start your Dash Wallet, it will automatically generate a new wallet for you. It will then ask you to enter a PIN to protect spending from the wallet. The first thing you should do after setting a PIN is back up the wallet by tapping the menu button in the top left corner and selecting Safety > View recovery phrase. You will need this phrase to recover the funds later if you lose or damage your phone or need to transfer the account to another device. Write the phrase down and store it in a safe place - if you lose this, you will also lose access to your funds forever. If you prefer, you can also back up a password protected wallet file by selecting Safety > Back up wallet.




Viewing the recovery phrase for a new wallet in Dash Wallet for Android
Restoring from backup¶
If you already have an existing Dash Wallet for Android, you can restore it at this point by tapping the menu button in the top left corner and selecting Safety > Restore from recovery phrase. Carefully enter your recovery phrase and tap Restore. Your wallet may restart, and it will take some time for any past transactions and balances to appear.




Restoring an existing wallet from recovery phrase in Dash Wallet for Android
Receiving¶
Tap the Request coins button at the bottom left of the screen to receive Dash. The wallet will generate and display a QR code for the other device to scan, and you can optionally enter the dash or dollar value of the transaction to save the payer time. You can tap the menu button in the top right corner and select Copy address to copy and paste it in another app to send it to a person paying you remotely. You will receive a notification when the transfer occurs, and you can view the confirmation status on the main screen and the balance in the top right corner. Dash Wallet for Android considers a transaction spendable after 1 block confirmations has taken place (approx. 2.5 minutes), or 6 block confirmations if you want to generate InstantSend transactions.




Receiving Dash and viewing your transactions and balance in Dash Wallet for Android
Sending¶
Tap the Send coins button at the bottom right of the screen to send Dash. You will be prompted to type, paste or scan (by tapping the round QR button) a Dash address, the amount to pay and whether to use InstantSend. Note that this information may already be included if you are scanning a QR code. The automatically determined network fee is displayed. Tap Send to complete the transaction.




Sending Dash and viewing your transactions and balance in Dash Wallet for Android
Buying¶
Since version 6.1.0, it has been possible to link your Android wallet with Uphold to purchase Dash using any funding methods available to you in Uphold. To get started, tap the menu button, select Uphold account and then Link Uphold account. Enter your username and password and complete two-factor authentication (if enabled for your account). Your Uphold balance will appear. Tap Buy Dash to add funds and convert them to Dash using Uphold. Tap Transfer from Uphold enter the amount, tap Transfer and confirm the transaction details to move funds from Uphold into your Dash wallet. For more information on using Uphold, see the Uphold documentation.




Logging in to Uphold and purchasing Dash




Transferring Dash from Uphold to your Dash Android wallet
Advanced functions¶
Address book¶
Your Android wallet allows you to manage frequently used addresses by adding a label to help you identify the owner. You can also label your own addresses in the wallet in order to keep track of regular incoming payments. You can access the address book by tapping the Menu button, then Address book. This will display a screen where you can swipe left and right between your own addresses and the addresses to which you frequently send Dash, such as family members for example. Tap the More options button to Paste from clipboard or to Scan address from a QR code, or tap an existing address to Send Dash or Edit the label.




Accessing the address book and adding an address
You can also add labels directly from the main transaction history screen by tapping the More options button for the transaction (three vertical dots) and selecting either Add label to your address, Edit label of your address, Add sending address or Edit label of sending address.



Adding and editing address labels in transaction view
Exchange rates¶
Dash Wallet for Android allows you to display the equivalent value of your Dash balance and in transactions by selecting a default fiat currency. To select a default currency, tap the Menu button, then Exchange rates. Find your preferred fiat currency, then tap the More options button for that currency and select Set as default. The exchange rate for this currency will appear when sending Dash, and you can also tap in the fiat currency field to enter the value in the fiat currency directly, instead of in Dash.




Selecting a fiat exchange rate and creating a transaction denominated in USD
Sweep paper wallet¶
Sweeping a paper wallet is a method of transferring the value stored on an address you may have received as a paper wallet or from an ATM into your own wallet. You must have access to the private key for an address to use this function. In this process, all Dash stored on the address will be sent to a new address that has been deterministically generated from your wallet seed. The private keys you sweep do not become a part of your wallet.
To sweep a paper wallet, tap the Menu button and select Sweep paper wallet. Tap the Scan button and scan the QR code from your paper wallet. Once the private key has been identified, tap Sweep to create the transaction moving the Dash into your own wallet. Once this transaction is confirmed, the paper is worthless and should be destroyed.




Sweeping a paper wallet with 0.10 DASH into the Android Wallet
Network monitor¶
The Dash Android Wallet is a light wallet and functions in SPV mode, meaning it does not download a full copy of the blockchain. The network monitor allows you to view details about the full nodes to which you are connected. You can also swipe left to view blocks as they are created on the blockchain.



Viewing peers and blocks to monitor network activity
Settings¶


The Settings menu in Dash Android Wallet
The settings menu contains a range of options to control the behavior of the Dash Android Wallet. To access the settings, tap the Menu button, then Settings. You can then choose between Settings, Diagnostics and About, which displays wallet version, copyright, license and source code information.
- Denomination and precision
- Select the number of decimal places to show for DASH denominations, or switch to mDASH or µDASH denominations
- Own name
- Enter a short name to be included in your QR codes when displaying to other users for scanning. The short name will then appear as a label in their wallet to verify the recipient and simplify address management.
- Auto-close send coins dialog
- Specify whether or not to close the send dialog once a payment is complete.
- Connectivity indicator
- Enables display of an indicator in the Android notification area to be able to quickly verify connectivity.
- Trusted peer
- Enter the IP address or hostname of a single peer to connect to.
- Skip regular peer discovery
- Enabling this option prevents automatic peer discovery and forces connection to the one specified trusted peer only.
- Block explorer
- Allows you to select which block explorer you want to use for functions linking to a block explorer.
- Data usage
- Links to the Android Data usage function to view and/or restrict data usage for the app.
- Balance reminder
- Enables an Android system notification to remind you of any unspent Dash if you don't open the app in that time.
- Enable InstantSend
- Enables functionality to use InstantSend to send and receive Dash.
- Enable Lite Mode
- Enabling lite mode reduces bandwidth usage.
- Show disclaimer
- Enables or disables various disclaimers and warning messages in the app.
- BIP70 for scan-to-pay
- Enables use of the BIP70 payment protocol to add further verification and security features when scanning QR codes.
- Look up wallet names
- Enables use of DNSSEC to attempt to identify a wallet name when creating transactions.
- Report issue
- Allows you to gather a range of information related to your wallet in order to send a bug report to developers for troubleshooting.
- Show xpub
- Displays the extended public key for the seed used to generate addresses in your wallet. Providing your xpub to a third party will allow them to view your entire transaction history, but not make new transactions.
- Reset block chain
- Resets data stored on your device relating to the blockchain. This data will need to be collected again from full nodes, similar to when setting up a new wallet. This process may take some time.


Dash 안드로이드 지갑
Dash iOS 지갑¶
Dash는 iOS 용 독립형 지갑을 제공하며 Dash 예산에 의해 개발 지원됩니다. 공식 Dash 지갑은 인스턴트샌드와 같은 Dash의 고급 기능을 지원합니다. 신속한 전송을 위해 QR 코드를 스캔하고 표시 할 수 있으며 복구 프레이즈를 사용하여 지갑을 백업할 수 있습니다. ShapeShift와의 기본 통합을 통해 비트코인 주소로 지불 할 수도 있습니다.
설치하기¶
App Store¶
The easiest way to install the Dash Wallet for iOS is from the App Store. While older versions of iOS are supported, you will need to be using iOS 10.0 or newer to use the latest version.

Compiling from source¶
The source code for the wallet is available here. The following steps describe how to download and compile the wallet from source.
Install Xcode from the App Store. The download is about 5GB, so this step may take some time.
Open Xcode, agree to the terms and conditions, then close the app.
Open the Terminal app and enter the following commands:
cd ~/Documents mkdir src cd src git clone https://github.com/QuantumExplorer/dashwallet.git
Open Xcode again and click File -> Open
Navigate to
~/Documents/src/dashwallet/DashWallet.xcodeproj
and click Open.Click Product > Run to build and run the app in Simulator.
You can also make modifications to the code and sideload the app onto your iOS device. For details, see this post on Reddit.
Getting started¶
Creating a new wallet¶
When you first start your Dash Wallet, you will be prompted to choose between creating a new wallet or recovering an existing wallet. Choose New Wallet to create a new wallet unless you have existing funds stored in another wallet using a recovery phrase. Your new wallet will be generated, and a recovery phrase will appear so you can recover the funds later if you lose or damage your phone or need to transfer the account to another device. Write the phrase down and store it in a safe place - if you lose this, you will also lose access to your funds forever.



Creating a new wallet and generating the recovery phrase in iOS Dash Wallet
You may also be asked to specify a PIN or link the app with your TouchID. You can tap the Dash logo at the top of the app to view your balance. You will need to unlock your wallet for this, as well as to view your transaction history or send Dash.
Receiving¶
Once you have set up your wallet, you will have two screens available to send and receive Dash. You can swipe left and right between the screens. To receive Dash, the app will generate an address which appears at the bottom of the screen. You can tap this to copy and share, or scan the QR code directly. Once the transfer is complete, you can view your balance, transaction history and the status of any pending transactions by clicking the menu button at the top left.


Receiving Dash and viewing your balance in iOS Dash Wallet
Sending¶
The Send DASH screen gives you two options to enter the payment address: Scan QR Code or Pay Address From Clipboard. You can choose to use InstandSend for instant confirmation, or disable this to send a normal transaction which will require more time for confirmation. Depending on the code you are scanning, the amount of Dash requested may be included, or you can enter it yourself. A confirmation screen will appear to explain the fee structure and request your unlock code (PIN or TouchID). The transaction will then be sent.




Sending Dash from iOS Dash Wallet
Sending to a Bitcoin address¶
You can also send from your Dash Wallet directly to a Bitcoin address using services provided by ShapeShift that are integrated directly in the wallet. If you scan or enter a Bitcoin address, you will be asked to enter the amount to be send in Bitcoin instead of Dash. Once you have entered the amount, click the Shapeshift! button shown an additional confirmation screen to confirm the ShapeShift fees before the transaction is processed. Make sure your destination Bitcoin address on this screen is correct. (If you see an error message about the value being too low, tap the greyed out Dash amount at the top to specify the amount to be transferred in Dash instead of Bitcoin.) Once your transaction is accepted, the Dash Wallet for iOS will display Shapeshift in progress until the transaction is complete.




Sending Dash to a Bitcoin address via ShapeShift from iOS Dash Wallet
Advanced functions¶
URL Scheme¶
iOS allows apps to communicate with one another through URL schemes. The Dash Wallet for iOS implements the dashwallet:// scheme, allowing you to call the wallet to complete a transaction denominated in Dash. This page documents the methods available using the URL scheme.
Payment request URL format:
dashwallet://pay=<address>&amount=<amount>&(req-)IS=<0/1>&sender=<sender>
Notes:
sender
is both your callback URL and the name of the app that you show to the user. This is to prevent 3rd party apps from phishing.req-
can be added before IS to force use of InstantSend for the transaction. If the user doesn’t have InstantSend enabled and doesn’t want to enable it, he will not be offered the option to send as a normal transaction.
The user will see something similar to this:
If the user enters the correct passcode, then the transaction is sent and the user is returned to the sender app following the callback URL.
Callback URL format:
<sender>://callback=payack&address=<example:XiUsEXvLjqhuz1Gunbymtw7JUwtkQXQHaa>&txid=<example:09855ac1c57725d8be2c03b53f72d1cb00ecb7b927bc9e7f5aed95cb3a985d76>
Master public key request format:
dashwallet://request=masterPublicKey&account=0&sender=<sender>
Note: account is optional and corresponds to BIP32/BIP44 account, most
of the time this should be 0. If account is not specified, we use
account 0. This will send back both the extended public key at
44’/5’/<account>’
and <account>’
Callback:
<sender>://callback=masterPublicKey&masterPublicKeyBIP32=<example:xpub68GSYNiJZ7k1beEHGmkMUjPsawFvhM7adhbXgnaY1zj5iucUgKPJNDh5iCB8KV2A9FFAGKcGZp5JtQ1XNmT7j2ErRnf8eb4Mt4wjLG6uRcN>&masterPublicKeyBIP44=<example:xpub6DTuSViCnkd1jcgoiQLcghtTAAntBX4zWhfwNMSsmcD94JATNaWZ1tC4NEv6bxcD1YA4474S2BzCDsBA97sM52jiJcmFPBiXcH9JzZSLQJm>&account=0&source=dashwallet
dashwallet://request=address&sender=<sender>
Callback:
<sender>://callback=address&address=<example:XjkMY3GiK5aHwbpg9Uaw7QCPk3QE63Nh5i>&source=dashwallet


Dash iOS 지갑
Dash Copay 지갑¶
Dash Copay 지갑은 모바일 장치 및 데스크탑 장치 모두에서 사용가능한 현대적이고 풍부한 기능을 보유한 지갑입니다. 인스턴드샌드, HD 주소 생성, 사용자 친화적인 주소록, 한 앱에서 여러 지갑을 사용할 수 있고, 손쉽게 사용할 수 있는 멀티 서명 지갑을 포함한 Dash의 고급 기능을 지원합니다. Dash Copay는 간편한 지갑으로, 블록 체인의 전체 사본을 사용하지 않아도 주소록의 프라이빗 키가 언제나 당신의 컨트롤 아래 디바이스에 안전하게 저장됩니다.
Getting Started¶
This documentation describes how to use the most common features of the Dash Copay wallet. Since the functionality is similar across all supported platforms (Android, iOS, Windows, macOS, Linux), the instructions and screenshots will reference the Android software, highlighting differences between the platforms where necessary.
The easiest way to install the Dash Copay for Android is from the Google Play Store.

Dash Copay for iOS is available through Apple TestFlight. To join the list of testers, send an email to elizabeth.robuck@dash.org with your Apple Account ID. For other platforms, or to view and compile the source code yourself, please see the instructions on GitHub.
설치하기¶
When you first start your Dash Copay Wallet, you will be prompted to choose between creating a new wallet or restoring an existing wallet from backup. Choose Get Started to create a new wallet, unless you have existing funds stored in another wallet using a recovery phrase. When prompted, enter and confirm a spending password to encrypt your wallet keys. You will need this password every time you want to send Dash from your wallet. At this point, you will be offered a chance to back up your wallet using a recovery phrase. It is highly recommended to do this immediately by tapping the Backup wallet button. Acknowledge the warnings, enter your password and write down the displayed recovery phrase on paper. Do not take a screenshot, since your device will likely make a copy on cloud storage, which is not necessarily under your personal control. Confirm the recovery phrase and terms of use. Your Dash Copay wallet is now ready to go!
Creating a new wallet and generating the recovery phrase in Dash Copay wallet
If you want to restore an existing Dash Copay wallet, simply tap Restore from backup and enter the 12 word recovery phrase. File/text backups are also supported.
Receiving¶
Simply tap the Receive icon at the bottom of the screen to receive Dash. The wallet will generate and display a QR code for the other device to scan, or you can tap the displayed address to copy it to the clipboard so you can paste it in another app. If you have multiple wallets, you can see the name of the wallet at the bottom of the screen, and tap it to switch between wallets. The receiving address will change and you will receive a notification when you receive the transfer.
Receiving dash and viewing your balance in Dash Copay wallet
Sending¶
Depending on how your payee has provided their receiving address to you, you can send Dash by tapping either the Scan icon to use the device camera to scan a QR code, or the Send icon to paste a copied address or select an address from your Dash Copay address book. Once you have entered the address, it may be possible or necessary to enter the amount of Dash to be sent or an optional label for the recipient, and to decide if you want to send with InstantSend on or off (off by default). If you have multiple wallets, you must also choose which wallet you will use to send the funds. Once the transaction is complete, you will see a payment confirmation screen.
Sending Dash from Dash Copay wallet
Viewing transactions and balances¶
Your recent transactions appear on the Home screen. You can tap any transaction to view more details or enter a Memo to help you remember the purpose of the transaction. Tap View on blockchain to open the Insight blockchain explorer to view full transaction details. All the wallets you have created and their respective balances appear below the recent transactions on the Home screen. You can tap any wallet to view the balance and transaction history associated with that wallet only.
Home screen, transaction details and wallet details in Dash Copay wallet


Dash Copay 지갑
Dash 종이 지갑¶
Dash 종이 지갑 생성기 는 인터넷에 연결하지 않고도 컴퓨터의 단일 Dash 주소로 키를 생성, 암호화 및 보안이 가능하게 합니다. 장기간 안전하게 보관하기에 적합합니다.
Introduction¶
A paper wallet is a method of storing a private key to access funds stored on a single address. It can be generated on a computer that has never been connected to the internet, and printed out for air-gapped offline storage. As such, they are suitable for storing large amounts of Dash, but care must be taken not to lose the private key, since there is no way of recovering funds if it is ever lost. To use the key, it must be imported or "swept" into an online wallet and should not be used again. Paper wallets are extremely secure but somewhat inconvenient for everyday use compared to hardware wallets, which also offer a high degree of security.
Paper wallets use random user and machine input to create a set of keys/addresses which you then print. You can never regenerate a paper wallet once you turn off the machine. What you print is all you get. For this reason, paper wallets are somewhat vulnerable and require special care because they can get damaged, lost, destroyed or stolen. Even if you encrypt them with BIP38 (which you should), a sufficiently motivated adversary (e.g. robbery/home invasion) could bypass this encryption using the proverbial "$5 wrench attack".
Nevertheless, together with appropriate planning, paper wallets are a highly convenient and user-friendly way to store Dash long term.
Security¶
While you can create a paper wallet using a machine that is connected to the internet, wallets that will be used to store significant funds should be generated using an offline computer running a single-use operating system to ensure that all generated data will be permanently wiped from memory once the process is complete.
A simple method of doing this is to burn a live Linux CD. Ubuntu Desktop is recommended because it will have the most drivers and is simple to use, while Tails and Kali Linux are popular choices for extremely strong security. Booting from an actual CD is most secure since it is mounted read-only, but a USB stick is generally fine as well. Both laptops and desktops can be used if you can ensure that all networking hardware is disabled when you get to the stage of actually generating your keys.
Boot from the CD and download/install your tools (or download them ahead of time to a USB drive). Disconnect from the internet, generate your keys/addresses/printouts, and power off the machine. You are now the only person with access to these addresses.
Death plan¶
Whichever type of cold storage you choose, make a plan to pass on the necessary data to regenerate the keys to your loved ones in the event of an accident - it will happen to us all eventually. Write down your paper wallet BIP38 decryption password or brain wallet passphrase. Then write down instructions on how to use it, and keep them separate with a clear procedure on how they can be accessed when necessary.
Tools¶
A Dash paper wallet can be generated in several ways.
- Using the generator at https://paper.dash.org
- Using the generator at https://walletgenerator.net/?currency=Dash
- Offline using the Dash Paper Wallet source code from GitHub at https://github.com/dashpay/paper.dash.org/releases/latest
- Offline using the same code which powers both sites, by viewing the GitHub project or downloading directly
Since the source code for all three options is largely similar, this guide will use https://paper.dash.org as an example. The websites listed here run entirely in your web browser without sending any of the data generated to an external server, but the most secure option is to download the wallet generator and run it on a computer with a freshly installed operating system that is not connected to the internet.
This guide is based on the guide available from https://walletgenerator.net. Please donate if you find this project useful!
Address generation¶
Go to https://paper.dash.org in your web browser (or open index.html if you downloaded the wallet generator). Select your language and choose Dash as the currency if necessary. The following screen will appear:
Some random data is required to ensure the generated address and key are unique. Move our mouse around and/or type random characters into the text box until the process reaches 100% and the following screen appears:
Once your public address and private key (shown in Wallet Import Format or WIF) are visible on the Single Wallet tab, you should immediately click Print to print the data and store it securely. If you leave the page without somehow recording the dash address and private key, all data will be irretrievably lost, together with any funds you have sent to the address.
Encryption¶
The information shown on the Single Wallet tab does not have a passphrase and is not encrypted. You can print this paper wallet as it is and use it, but it is not protected from being stolen if someone finds it. You should keep it safe the same way you would jewels or cash.
If you decide that you need the additional security of a password for this address, click Paper Wallet. A different address/key pair will appear. To create an encrypted wallet, select BIP38 Encrypt? and enter a passphrase. Tick the box Hide Art? and change to 1 the field Addresses to Generate and then click on Generate. A new wallet will be generated where the private key (WIF) is encrypted using the password you specified, resulting in a BIP38 key. You now need both this BIP38 key and the password to control funds on the address, so be sure to click Print and store both safely. If you are unsure about how to use BIP38 encryption, it is highly recommended to test the workflow with a low amount of Dash before storing significant funds on an encrypted paper wallet. If you forget the password or lose the encrypted key, you will permanently lose access to your funds.
A Dash WIF address can be easily identified because it always begins with "7". A BIP38 format encrypted key can be identified because it always begins with "6P". See here to learn more about BIP38.
Sending to a paper wallet and viewing the balance¶
You can send Dash to a paper wallet address in the same way as to any other Dash address. See the documentation for your wallet if you do not know how to do this. For this example, 0.05 Dash (minus transaction fee) has been sent to the paper wallet address. Anyone with knowledge of the public address is able to see the balance of the wallet using a block explorer, but only someone with knowledge of the private key can access the funds. You can make as many deposits and send as many coins to the same address as you’d like. Just make sure you test your wallet with small amounts first to learn how it works.
Spending from a paper wallet¶
In order to access the funds stored on the paper wallet address, you will need the following:
- The public address
- The private key in WIF
If you encrypted the wallet, you will additionally need the following to convert the BIP38 key into the WIF key:
- The encrypted private key in BIP38 format
- The passphrase you used to encrypt the key
Optional: Decrypt BIP38 key to WIF¶
If you encrypted your paper wallet, you will first need to decrypt the BIP38 key. You can skip this step if your private key was not encrypted.
Go to the Wallet Details tab, enter the encrypted key in the Enter Private Key field and click View Details. You will be asked to Enter BIP38 Passphrase in the field. Enter the passphrase and click Decrypt BIP38. A range of information derived from the key will appear, the information required to access the funds on the public address appears under Private Key WIF. Copy the Private Key WIF and use it in the next step.
Importing the private key to your live wallet¶
When you are ready to spend the balance on the paper wallet, you will need to import the private key used to control the address printed on the wallet into another Dash wallet that is connected to the internet. We will use the Dash Core Wallet in this example, although Dash Electrum and mobile wallets are also supported. Open Dash Core Wallet, click Settings and Unlock Wallet. Enter your wallet passphrase. Then click Tools and select Debug Console. The console appears. Enter the following command:
importprivkey <your private key in WIF>
This process requires rescanning the entire downloaded blockchain for transactions involving this address, and will therefore take some time. Be patient. Once the process is complete, any transactions involving the imported address will appear in your list of transactions. If you use Coin Control, you can also enable or disable the address for spending there.

Since the paper wallet public address still holds the funds, it can also be imported again into a second wallet if it is not destroyed. It is recommended to transfer the balance from the paper wallet to an internal wallet address or another address where you have exclusive control over the private key. This will prevent a third party from obtaining unauthorised access to the same address from the paper wallet before you do. You can then spend your balance as usual.
Once the paper wallet is empty and you are sure it will not be receiving any further deposits, you can destroy the paper.
하드웨어 지갑¶
하드웨어 지갑은 일반적인 소프트웨어 지갑에서 사용되는 wallet.dat 같은 데이터베이스 파일 대신 보안 하드웨어 장치에 블록 체인에 대한 개인 키를 저장하는 디바이스 유형입니다. 이는 소프트웨어 지갑에 비해 주요한 보안 이점은 물론 종이 지갑보다 실질적인 이점도 있습니다. 지금까지 바이러스에 의해 손상된 하드웨어 지갑에 대한 검증 가능한 증거는 없으며, 소프트웨어 지갑에서 사용되는 개인 키의 잠금을 해제하기 위한 암호해킹시 사용가능한 키로거 공격에는 영향을 받지 않습니다.
하드웨어 지갑은 프라이빗 키를 마이크로 컨트롤러의 보호 영역에 저장하여 작동합니다. 프라이빗 키가 일반 텍스트로 디바이스를 이탈하는 것은 불가능합니다. 암호화된 해시의 서명된 출력만이 컴퓨터 또는 스마트 폰과 같은 블록 체인과 상호 작용하는 장치로 전송됩니다. 대부분의 하드웨어 지갑에는 전송할 주소를 독립적으로 확인할 수있는 스크린이 있습니다.
이 섹션에는 Dash를 지원하는 가장 일반적인 상업용 하드웨어 지갑을 리스트업되지만 다른 일부 w열성 지지자들의 프로젝트 역시 사용가능 합니다.
Introduction¶
Hardware wallets offer you the security of storing your keys in secure device while still allowing you to make simple transactions through a web interface. Three major manufacturers of hardware wallets currently exist, with Dash supported on all of them.
Trezor¶

Developed by Czech startup SatoshiLabs, the $99 device is essentially a USB dongle designed to add an extra authentication layer to all outbound bitcoin transactions. Trezor has supported Dash since January 2017 with the release of firmware version 1.4.2.
By virtue of its design, Trezor can be used to sign transactions on 'unsafe' computers and is impervious to keyloggers and many other vectors of attack, so even if your host PC is compromised, the attacker has no way of getting your private key. That's also where the device gets its name, as 'trezor' translates into 'vault' in most Slavic languages, including Czech. A kind of 'vault' for your private bitcoin key, Trezor claims to use a number of clever tricks to maintain security even on compromised and unsafe machines.
- Site: https://trezor.io
- Review: https://www.dashforcenews.com/trezor-hardware-wallet-review
- Shop: https://shop.trezor.io
- Wallet: https://wallet.trezor.io
It is also possible to operate a Dash masternode using your Trezor. See here for details.
Getting Started¶
Once you have bought your Trezor from https://shop.trezor.io or an authorized reseller, you will need a wallet to use it with. Trezor supports the following Dash wallets:
- Trezor Wallet (documentation)
- Dash Electrum Wallet (documentation)
- Dash Masternode Tool (documentation)
This documentation describes how to get started using the official Trezor web wallet at https://wallet.trezor.io. Always confirm the URL is correct and SSL encryption is enabled when working with the Trezor Wallet. Follow these steps when setting up your Trezor for the first time:
- Inspect the packaging for tampering. There should be two seals and the flaps should be glued shut. It should be impossible to remove the device without totally destroying the packaging.
- Go to https://trezor.io/start/ and watch the video to introduce the concepts of a shifting PIN layout and recovery seed.
- Go to https://wallet.trezor.io/ to begin the setup process.
- If not already installed, install the Trezor Bridge application from https://wallet.trezor.io/#/bridge
- Connect the Trezor to your computer when prompted.
- If this is the first time you connect your Trezor, you will be prompted to install firmware. Click the Install button, wait for the download and confirm on the device.
- When complete, the device will display a fingerprint. Verify that this matches the fingerprint shown on the screen. Note that this is hexadecimal and therefore not case-sensitive.
- After verification is complete, disconnect and reconnect your device. Enter a device label on the screen that appears.
- Enter and confirm a PIN by clicking on the squares according to the mapping shown on the device.
- Your Trezor device will now display a sequence of 24 words on the screen. This is your recovery seed. Write the words down in the order they appear on the recovery card. Never store your recovery seed in any digital format, including photos or text.
- Verify the seed against what you have written down and store it in a safe place.
- You will be asked to enter your PIN again.
- The Trezor Wallet will appear with a message that your device is ready for use. Your device name will appear on the device.
- Switch to the Dash wallet using the menu at the top left. You can now use your Trezor to send and receive Dash.
Receiving Dash¶
We will now create a Dash receiving address and attempt to receive 1.0 DASH.
- In the Trezor Dash wallet, click Account #1, then click Receive.
- A Dash address will appear. Click Show full address to verify the address on the Trezor device.
- Send 1 DASH to this address using an exchange or another wallet.
- Once the transaction is confirmed, it will appear on the Transactions tab of your Trezor Wallet.
Sending Dash¶
We will now send the Dash (minus transaction costs) to an external address.
- In the Trezor Dash wallet, click Account #1, then click Send.
- Enter the Dash address and amount in the fields.
- Enter your PIN.
- Confirm the address on the device, then confirm the action.
- The transaction will be transmitted to the network and the recipient receives the funds.
Advanced Functions¶
Your PIN is your primary form of security when using your hardware wallet. It is considered secure because the layout of the PIN keypad changes each time you use it. If you suspect your PIN has been compromised, change it using the following instructions. For extra security, or if you believe you may be subjected to duress at some point in the future, you can add a passphrase to reveal further wallets which only appear when you enter your passphrase. Since the passphrase acts as a cryptographic salt, there is no "correct" passphrase - a different wallet will be displayed for each passphrase you enter. Be absolutely sure you understand passphrases before using them. For more information, see here.
You can change your Trezor PIN from both the Trezor wallet and DMT.
From Trezor: Go to https://wallet.trezor.io and click the cog icon next to your username. Then click Change PIN. You will need to confirm you want to change your PIN on the hardware device, then enter your existing PIN and the new PIN twice.

From DMT: Open DMT and click Tools > Hardware Wallet PIN/Passphrase configuration. The following window will appear. Click Change. You will need to confirm you want to change your PIN on the hardware device, then enter your existing PIN and the new PIN twice.

You can add a passphrase to your Trezor from both the Trezor wallet and DMT. Before you add a passphrase, you should be fully aware of how it functions as a "25th word" to your seed, and the risks of forgetting your passphrase. Note that you do not need to enter a passphrase - blank is perfectly acceptable and will reveal your normal wallet.
From Trezor: Click Advanced, confirm you understand the risks and click Enable passphrase encryption. This enables a prompt to enter a passphrase each time you use your Trezor.

From DMT: Open DMT and click Tools > Hardware Wallet PIN/Passphrase configuration. The following window will appear. Click Enable. This enables a prompt to enter a passphrase each time you use your Trezor.

Your Trezor allows you to change the homescreen image from the default Trezor logo. A range of existing images can be selected, you can generate one yourself using the Trezor Homescreen Editor, or you can create and upload your own 128x64px black and white image. To change your homescreen image:
- Go to https://wallet.trezor.io and open your wallet
- Click the small cog icon next to your device name
- Click the Homescreen tab
- Select the new homescreen, then click the Set as homescreen button at the top
- Confirm the change on the Trezor device
A few sample images are available for Dash:



While losing a Trezor is not a security threat (unless someone knows your PIN and/or passphrase), it is a moderately expensive device that can be damaged by pressure or water, for example. For this reason, Dash community member tungfa has shared photos of a custom-made Trezor case. The following materials are required:
- Pelican Case 1010 Micro Case
- Foam
- Trezor + Cable
- USB Stick (for wallet.dat files + blockchains of all portfolios)
- Notepad



KeepKey¶

The $129 KeepKey hardware wallet features a large screen and 100% open source firmware to guarantee the security of your private keys. KeepKey has supported Dash since firmware version 4.2.10, released on March 28, 2017, and added support for InstantSend in firmware version 5.7.2, released on September 5, 2018. Follow these instructions to begin using Dash on your KeepKey device.
- Site: https://www.keepkey.com
- Review: https://coincentral.com/keepkey-wallet-review
- Shop: https://keepkey.myshopify.com/
- Product video: https://vimeo.com/133811189
It is also possible to operate a Dash masternode using your KeepKey. See here for details.
Ledger¶

Founded in 2014, French startup Ledger markets enterprise and consumer blockchain security solutions, including the €58 Ledger Nano S and upcoming Ledger Blue. Ledger Nano S has supported Dash since November 2016 and firmware version 1.2. Follow these instructions to add Dash support to the device.
- Site: https://www.ledgerwallet.com
- Review: https://www.dashforcenews.com/ledger-nano-s-review
- Shop: https://www.ledgerwallet.com/products
Product video:
It is also possible to operate a Dash masternode using your Ledger. See here for details.
Third Party 지갑¶
이러한 지갑들은 Dash를 지원하기 위해 외부 개발자에 의해 개발되었습니다. 다양한 Third Party 지갑은 동시에 여러 개의 다른 암호화폐를 지원하거나 인스턴트 암호화폐 교환을 통합됩니다.
Introduction¶
The Dash protocol and many Dash products such as Dash Core and the mobile wallets are entirely open source, which makes it easy for third parties to integrate Dash with their existing cryptocurrency wallet solutions. This section describes some of the third party wallets available and the functions they offer. Please note that Dash does not provide support for any of these wallets, and any listing here should not be considered an endorsement or recommendation. Contact the software vendor for support.
Abra¶

Abra is a multi-cryptocurrency wallet supporting Dash amongst other currencies. It is designed for investment and can be funded from your bank account, credit/debit card, cash (in the Philippines), Bitcoin, Bitcoin Cash, or Litecoin. Dash deposits and withdrawals are currently not supported.
Documentation¶
Abra offers detailed documentation of all functions at https://abra.zendesk.com
Atomic Wallet¶

Atomic Wallet is a multi-asset custody-free wallet with atomic swap exchange and decentralized orderbook functionality. It provides a powerful, secure service that transparently and reliablly allows users to reduce effort spent on managing and exchanging crypto assets.
설치하기¶
All Atomic Wallet releases are available from https://atomicwallet.io - simply download and install the appropriate package for your system.
Documentation¶
Atomic Wallet offers detailed documentation of all functions at https://atomicwallet.freshdesk.com and a few quick links are also collected here:
Cobo¶

Cobo is a multi-currency mobile wallet supporting Dash with options to either register a cloud wallet (private keys backed up on the cloud) or generate your own HD wallet seed (private keys encrypted on your device), giving you maximum control over how you handle the crypographic keys to all assets in the wallet. The wallet offers a unique "staking" feature where users can pool their Dash to set up masternodes and enjoy weekly returns.
Documentation¶
Cobo offers detailed documentation of all functions at https://support.cobo.com
Coinomi¶

Coinomi is an open-source multi-currency mobile wallet available for iOS and Android. Your private keys never leave your device, and strong wallet encryption guarantees that your funds are always under your control only. Instant exchange is available directly in the wallet through ShapeShift and Changelly integrations.
Download¶


Coinomi is available from the Google Play Store for Android and the Apple App Store for iOS.
Documentation¶
Coinomi offers detailed documentation of all functions at https://coinomi.freshdesk.com
Cryptonator¶

Cryptonator offers a web/mobile wallet which can be accessed using a simple username/password combination. It supports multiple currencies including Dash, and offers instant exchange between the various currencies. It also support Euro-denominated SEPA payments directly from within the account.
Download¶

Cryptonator is available from the Google Play Store for Android and online at https://www.cryptonator.com
Documentation¶
Cryptonator offers detailed documentation of all functions at https://cryptonator.zendesk.com/hc
Edge¶

Edge is a secure multi-currency wallet for iOS and Android. It offers a unique login system to store your encrypted HD seed on the cloud while still performing all sensitive operations requiring a private key on your device. Edge is fast and simple to use, allowing you to scan QR codes and sign transactions using your fingerprint ID or a simple PIN code. ShapeShift is also integrated to facilitate exchange between different cryptocurrencies.
Documentation¶
Edge offers detailed documentation of all functions at https://support.edgesecure.co and a few quick links are also collected here:
Ethos¶

The Ethos Universal Wallet allows you to store Dash and over 100 other cryptocurrencies. It features a single recovery phrase, known as the SmartKey, with which you can restore all balances on another device. Features include human-readable usernames, ShapeShift coin conversion and a portfolio tracker.
설치하기¶


Ethos Universal Wallet is available from the Google Play Store for Android and the Apple App Store for iOS.
Documentation¶
Ethos offers detailed documentation of all functions at https://support.ethos.io and a few quick links are also collected here:
Evercoin¶

Evercoin is a multi-currency mobile wallet combined with the full power of an instant exchange, all in one app. Advanced features like limit orders allows you to execute advantageous trades without having to copy addresses around and use complicated online exchanges. Private keys are stored on the device and backed up using a typical 12-word phrase. An Evercoin hardware wallet is also due to launch soon.
Documentation¶
Read the FAQ or visit the Evercoin site to chat with the support team directly.
Exodus¶

The Exodus wallet features an engaging visual design and can simultaneously store multiple currencies. It is available for Windows, Mac and Linux. It is also fully integrated with Shapeshift to offer exchange between the different currencies.
설치하기¶
All Exodus releases are available from https://www.exodus.io/releases - simply download and install the appropriate package for your system.
Documentation¶
Exodus offers detailed documentation of all functions at http://support.exodus.io and a few quick links are also collected here:
Guarda¶

Guarda offers an entire blockchain ecosystem consisting of desktop, web and mobile wallets, OTC crypto sales and instant crypto exchange. Dash is supported throughout the ecosystem, making it an easy and convenient way for new users to get started. All keys are held by the user, ensuring the safety of your funds.
설치하기¶
Guarda desktop wallets are available from https://guarda.co/desktop for Linux, macOS and Windows, or you can use web wallet at https://guarda.co/app to create new or restore existing wallets.
Documentation¶
Guarda offers detailed documentation of all functions at https://guarda.freshdesk.com and a few quick links are also collected here:
Jaxx¶

Jaxx supports multiple currencies in one wallet, including Dash. It is available for almost all platforms including Android, iOS, macOS, Windows, Linux and also as a Chrome extension. Jaxx is open source software.
설치하기¶
All Jaxx releases are available from https://jaxx.io/downloads.html - simply download and install the appropriate package for your system.
Documentation¶
Jaxx offers detailed documentation of all functions at https://decentral.zendesk.com and a few quick links are also collected here:
Mobi¶

Mobi is a multi-currency mobile wallet linked to your phone number. As a hosted wallet, Mobi holds the private keys to your funds on your behalf, meaning you can restore your funds simply by receiving a text message and entering your PIN. However, you must trust Mobi to act responsibly with these private keys, and you will lose access to your funds if you lose access to your phone number. A web interface is also available, and you can use fiat currency to buy cryptocurrency in the app.
Documentation¶
Read the FAQ, join the Mobi Telegram group or send an email to support@mobi.me for support with Mobi.
Paytomat¶

Paytomat offers a multicurrency wallet for Android and iOS which integrates a loyalty program to incentivize retailers and consumers to transact in Dash.
설치하기¶

Paytomat is available from the Google Play Store for Android and coming soon on the Apple App Store for iOS.
Documentation¶
Join the Paytomat Telegram group or send an email to support@paytomat.com for support with Paytomat.
Web 지갑¶
웹 지갑은 Dash 잔액을 유지하면서 사용자 대신 프라이빗 키를 관리하는 서비스입니다. 교환 에 저장된 Dash는 이 카테고리에 속하게 되지만 Google / Facebook 로그인 시스템을 통해 Dash 를 저장할 수있는 서비스도 있습니다. Dash 의 안전성은 웹 저장소를 안전하게 보관하는 회사들의 만큼이나 안전하나 웹 저장시에는 각별히 주의하십시오. MyDashWallet.org는 프라이빗 키를 완전히 제어하면서 Dash 블록 체인에 안전한 웹 인터페이스를 제공하는 예외적인 사례입니다.
MyDashWallet¶

MyDashWallet is a web interface to the Dash blockchain, inspired by MyEtherWallet and created by DeltaEngine.net. It is explicitly not an online wallet, meaning you maintain control over your private keys at all times. Unlike many other light wallets, MyDashWallet also supports advanced Dash features such as InstantSend and PrivateSend. The project is non-profit, open source and free to use. You can load a wallet and transact in a variety of wallet formats:
- Keystore wallet (file-based)
- Ledger hardware wallet
- Trezor hardware wallet
- Private key
- BIP39/44 HD recovery phrase (coming soon)
- BIP32 HD recovery phrase (coming soon)
MyDashWallet offers complete and detailed documentation for all functions.
- Getting started
- How to Create a Wallet via Keystore file
- Using the Ledger Hardware Wallet on MyDashWallet
- Using the Trezor Hardware Wallet on MyDashWallet
- How to does DASH InstantSend work on MyDashWallet?
- How to does DASH PrivateSend work on MyDashWallet?


텍스트 지갑¶
텍스트 지갑 (또는 SMS 지갑)을 사용하면 스마트폰이나 인터넷이 없어도 사용자의 휴대폰 문자 메시지를 사용하여 대시 거래가 가능합니다. 혁신적인 단축 코드는 일반적으로 전국 이동 통신 서비스 제공 업체와 공동으로 대시 송수신을 위한 거래 생성이 보다 간소화되었습니다.
Introduction¶
Text message (SMS) wallets allow you to easily transact in Dash using a simple feature phone. An internet connection is not required. Because text wallets require access to text messages, they generally only support specific regions. See below for details.
CoinText¶

CoinText is a for-purpose project to make cryptocurrency easy to use to expand economic freedom around the world. It makes it possible to transact in Dash without internet, apps, accounts or complicated addresses. CoinText currently supports Dash transactions in the USA and Canada and aims to expand to over 50 countries in coming months. It is possible to denominate the amount to be sent in both Dash and the local currency, and send Dash to both phone numbers and Dash addresses.
Instructions¶
Simply text START to the CoinText phone number for your region. For more the list of supported regions and more detailed instructions on how to send and receive payments, see the links below:
DashText¶

DashText is a service available in Venezuela to allow users to transact in Dash using text messages. The only fees are the cost of a standard SMS, incurred by the network operator. Users can send Dash to innovative shortcodes to securely confirm transactions.
Instructions¶
Simply text CREATE to the DashText phone number to get started. Further instructions and links will appear here once the project is ready for mass market.
지갑 가이드¶
Dash 설명서의 이 섹션에서는 지갑과 관련된 모든 업무와 관련된 일반적인 작업과 질문에 대해 설명합니다.
Wallet Recovery¶
Long-time users of cryptocurrency sometimes find old wallet files on USB drives or cloud storage that they have forgotten about. Others may have a backup, but can't remember the software they used to create it, or have forgotten the password. Other users may have an old version of Dash Core that no longer works because the network has upgraded. This documentation is intended to help these users restore access to their funds.
Determining the backup format¶
The first step is to determine the format of your backup. In most cases, this will either be a file, probably named wallet.dat, or a phrase of words. In some cases, you may have stored the private key for a Dash address directly. The following list shows the possibilities and methods to restore your wallet in order of probability.
- Backup is stored in an older version of Dash Core that no longer works
- Follow instructions for restoring wallet files using Dash Core
- Backup is a file
- If file name is similar to wallet.dat, try to restore using Dash Core
- If file name is similar to dash-wallet-backup or includes the word 'mobile', try to restore using Dash Wallet for Android
- Backup is a phrase of words
- If 12 words long, try to restore using Dash Electrum wallet or Dash wallet for Android or iOS, depending what you used to create the backup
- If 13 words long, try to restore using Dash Electrum wallet
- If 12, 18 or 24 or 25 words long, try to restore with the hardware wallet you used to create the recovery phrase
- Backup is a long string of random characters or a QR code
- If 34 characters long and starting with X, this is a public address and cannot be used to restore access to lost funds. You need the private key.
- If 51 characters long and starting with 7, this is a private key in WIF, import using Dash Core
- If 58 characters long and starting with 6P, this is a BIP38 encrypted private key, decrypt using paper wallet then import using Dash Core
Once you have determined your backup format, follow the links to view the restore guide for that format.
File Backups¶
One of the most common wallet backup formats is a wallet.dat file from Dash Core wallet. Before you begin, make absolutely sure that you have a copy of this file stored somewhere safe in case the restore process accidentally corrupts your wallet file! In most cases, wallet.dat backups will also be protected by a password, which you will need to know to regain access to your Dash funds. If you already have Dash Core installed, first ensure it has been updated to the latest version by clicking Help > About Dash Core. Compare this with the latest available version of Dash Core on the website as follows:

Update Dash Core to the latest version according to the installation instructions. If you have only a wallet file and no existing installation of Dash Core, simply install Dash Core according to the installation instructions and start it once to create the DashCore folder. Then close Dash Core and copy the wallet.dat file you want to restore to the DashCore folder in the location specified below, replacing or renaming the existing file.
Platform | Path to data folder | How to navigate |
---|---|---|
Linux | ~/ | Go to your home folder and press Ctrl+H to show hidden files, then open .dashcore |
macOS | ~/Library/Application Support/ | Press Shift + Control + G, type ~/Library/Application Support , then open DashCore |
Windows | %APPDATA% | Press Windows Key + R and type %APPDATA% , then open DashCore |
If your existing version of Dash Core is older than v0.12.1.x, you may
need to rename your data folder from Dash
to DashCore
.
To repair a broken installation, navigate to the DashCore folder and delete all .log and .dat files except wallet.dat. The following files can be safely deleted:
- banlist.dat
- budget.dat
- db.log
- debug.log
- fee_estimates.dat
- governance.dat
- mncache.dat
- mnpayments.dat
- netfulfilled.dat
- peers.dat
Leave .conf
files and the folders (such as backups
, blocks
,
chainstate
, etc.) intact, since they will help you get started
faster by providing a copy of the blockchain and your settings.
Now open Dash Core and wait for blockchain synchronization to complete. Your wallet will be restored/upgraded and all balances should be displayed. You should ensure you have the correct password by trying to unlock your wallet from Settings > Unlock Wallet to make sure you can actually create transactions using your balances. If you have any problems with your balance not appearing, try to force a rescan of the blockchain by going to Tools > Wallet Repair and selecting Rescan blockchain files. Rebuild index may also help. Dash Core will restart and perform a full scan of the blockchain.

At this stage, recovery is complete and you should make another backup using File > Backup Wallet or following the instructions here. If you have any further problems, try asking on the forum, Reddit or the #dash-support-desk channel at Dash Nation Discord.
Similar to Dash Core wallet, Dash Wallet for Android can back up your
wallet to a file. To restore this wallet on another device, simply copy
the backup file to the /Downloads
folder of your device using either
a computer connected by USB or a file manager app on the device. Ensure
your Dash wallet is fully updated in the Play Store, then open Dash. If
you have an existing balance, either make another backup or transfer it
to an external address, because restoring a wallet will replace your
existing wallet!
Click the menu button in the top left corner, select Safety > Restore wallet and select the appropriate file from the list. Enter your password and click Restore. This may take some time, and your balance will be displayed when complete.



Restoring a file backup using Dash Wallet for Android
Recovery Phrases¶
If you have a 12-word phrase and feel certain your backup was made on an iOS or Android mobile device, follow these instructions.
Ensure your Dash wallet is fully updated in the Play Store, then open Dash. If you have an existing balance, either make another backup or transfer it to an external address, because restoring a wallet will replace your existing wallet! Click the menu button in the top left corner, select Safety > Restore from recovery phrase and enter your 12-word phrase.



Restoring a 12-word recovery phrase using Dash wallet for Android
Ensure your Dash wallet is fully updated in the App Store, then open Dash. If this is the first time you are opening the app, you can enter your recovery phrase directly by selecting Recover wallet on the start screen. If you have an existing balance, either make another backup or transfer it to an external address, because restoring a wallet will replace your existing wallet!
Click the menu button in the top left corner, select Settings > Start/recover another wallet. Enter your current wallet recovery phrase, then the app will reset and you will see the option to Recover wallet again.





Restoring a 12-word recovery phrase using Dash wallet for iOS
Ensure you are using the latest version of Dash Electrum according to the installation instructions here. Dash Electrum supports multiple simultaneous wallets, so you can safely restore to a new wallet file without losing your old wallet. Click File > New/Restore and enter a file name to store your new wallet. Then select I already have a seed and enter your 12/13-word recovery phrase. Enter a new password for your wallet and click Next to recover your addresses from the recovery phrase.






Restoring a 12-word recovery phrase using Dash Electrum
If your 12, 18 or 24-word recovery phrase was generated by a hardware wallet, follow these instructions:
You can use your Dash iOS recovery phrase with Dash Electrum to recover funds if you lose access to your iOS device for any reason. However, since the wallet derivation paths are not identical, the process only works in one direction, meaning it is not possible to restore a Dash Electrum wallet using the Dash iOS wallet. Also, because the import process uses an xprv key rather than the recovery phrase directly, it will not be possible to display the recovery phrase in Dash Electrum. It is therefore recommended to move the funds (either to a standard Dash Electrum wallet or some other wallet) once recovery is successful to ensure that standard backup procedures work as expected.
Recovery takes place in two steps. First, we will convert the Dash iOS recovery phrase into an xprv key. In the second step, we will import the xprv key into Dash Electrum.
Go to the BIP39 Mnemonic Code Converter page. This is a useful tool for manipulating/displaying BIP32/39 seed data. If you are not comfortable performing this procedure online, an offline version is available by downloading the file described in these instrutions. Once the tool is loaded in your browser, complete the following steps:
- Enter your 12 word seed phrase in the BIP39 Mnemonic field.
- Leave BIP39 Passphrase blank.
- Set coin to Dash.
- Under Derivation Path, click the BIP44 tab.
- Copy the value shown in Account Extended Private Key.
- Open Dash Electrum and click File -> New/Restore.
- Type a name for your wallet.
- Select Standard wallet.
- Select Use public or private keys.
- Paste in your value from Account Extended Private Key.
- Optionally enter a password.
Dash Electrum should now detect your Dash iOS balance and you should have complete access to your funds. The seed phrase won't be available in Dash Electrum , so you will just need to follow the steps above again if you want to restore this wallet from the recovery phrase again. It is recommended to send your funds to a new Dash Electrum wallet instead and follow standard backup procedures.
Older versions of the Dash iOS wallet used BIP32 addresses under the
m/0'
derivation path. The wallet should migrate these funds over to
BIP44 addresses during normal use, but some residual balance may be
under this derivation path, so restoring the BIP32 Extended Private
Key may be helpful in some situations. Please see this forum thread
for further discussion on this process.
Private Keys¶
Most wallets offer a function to import an address from a private key, see the documentation for your wallet for specific instructions. While private keys can be stored in many ways, in this example we will work through the process of restoring a private key from a paper wallet using Dash Core. If you only have a QR code and not the key, use a barcode scanning app (Android or iOS) to read the code first.
First, start Dash Core and unlock your wallet by selecting Settings > Unlock Wallet. Enter your password, then open the debug console by selecting Tools > Debug Console. In the console, type the following, replacing the example private key with your key:
importprivkey 7rPQWnMrh3oWLtZrzt1zLRSCVyuBbwnt7fRBXPp2EwcPhtzXSzp
Dash Core will rescan the blockchain for transactions involving the public address of this key and enter the transactions and balance in your wallet.
The private key must be in wallet import format (WIF). If your key is encrypted using BIP38 (key begins with 6P instead of 7), you must first decrypt it to view the key in WIF. To do so, go to https://paper.dash.org/ and click Wallet Details. Enter the encrypted private key in the field and click View Details. You will be prompted for the password, and your keys will be decrypted. Find the key named Private Key WIF and import this into your wallet.


Decrypting a BIP38 encrypted key to WIF for import in Dash Core wallet
Forgotten Passwords¶
In most cases, if you selected a strong password and have forgotten or lost it, there is practically no hope of recovery. The encryption used by the Dash wallets is extremely strong by design, and a well-chosen password should defeat most brute force cracking attempts. If you can recall some details of the password, particularly its length or sequences of characters that may be included, then brute force password cracking techniques may be worth attempting. Several services exist to do this, or you can attempt it yourself. Because Dash Core is based on Bitcoin Core, most approaches to apply brute force to crack a Bitcoin wallet will also work for Dash wallets.
Signing and Verifying Messages¶
Dash wallets function by securely storing the private keys used to create transactions using publicly visible addresses on a distributed ledger called a blockchain. In some cases, it may be necessary to verify an address to demonstrate control of the funds that it holds, that you can receive using the address, or even to verify your identity to an exchange that has previously seen a transaction from that address. To avoid phishing attacks, take great care when sending signed messages to parties you do not trust, since ambiguously worded messages could be used to impersonate your identity.
Signing messages requires a private key. Verifying messages requires a public address. In this way, you can write an arbitrary message and generate a signature that could only have been created by a user with control of the private key for this address. Any user with the message, the public address and the signature can easily verify that only you could have created the signature. Messages are not stored on the blockchain. Instead, you must send these three text snippets (message, address and signature) to your intended recipient using another communication channel, such as email. As an example, you can test the following message and signature and verify that it was signed by the given address:
Message: Documentation test signature
Address: XwHihwiQzheVKbT76e7ZhPkujDCQGEZC6P
Signature: IKaEt7MTb4Y57WIde5TLUkm1vbVsjk/L9eG+TE2tdQhMeK9vGgTsqcVOTmXXQ6QA0/WQtxqPURH2qZG27YR2VE0=
Signing a Message¶
The following screenshots show how to sign a message using the Dash Core wallet (File > Sign message), Trezor web wallet (Sign & Verify > Sign message) and DMT (Tools > Sign message with HW for current masternode's address):



Signing messages in Dash Core, Trezor web wallet and DMT
Verifying a Message¶
The following screenshots show how to verify a message using the Dash Core wallet (File > Sign message) and Trezor web wallet (Sign & Verify > Sign message):


Verifying messages in Dash Core and Trezor web wallet. Notice that the message verified by Dash Core was generated in Trezor, and vice versa
Earning and Spending¶
Dash is designed from the ground up to function as digital cash. This documentation discusses how and where Dash users can manage all of their personal finances using Dash.
Earning¶
A range of services and businesses are available to convert your wage to and from Dash as you receive it. It is of course easiest to receive payment from your employer in Dash directly, however this may not always be an option. Uphold allows you to instantly and automatically convert any received deposits to and from Dash. Building on this functionality, Bitwage allows you to invoice and receive payment from any employer, practically anywhere in the world, and have a percentage of your wage immediately converted to Dash. You can then withdraw your wage to any Dash wallet for spending or saving. For more information, see the following blog posts:
Spending¶
Merchant Directory¶
Dash can be spent in hundreds of stores and services both online and in physical locations.

Discover Dash lists businesses around the world accepting Dash, sorted by category. It's easy to add your business to the list, and also features a short introduction for new Dash users. The site is maintained by Dash Force, and has been featured on Dash Force News.
Debit Cards¶
Debit cards work by prepaying in Dash to load the account, then withdrawing cash from an ATM or spending online or anywhere debit/credit cards are supported. The Dash is either exchanged at the time of purchase or in advance. For an overview and review of all available and upcoming cards, including cards funded by the Dash budget system, see this article on Dash Force News.
The rapidly evolving approach to regulation of cryptocurrencies such as Dash and instant exchange solutions such as ShapeShift means that availability of debit cards cannot be guaranteed in any or all jurisdictions. Check with the following providers for updates on the availability of Dash debit cards.
Disclaimer: This list is provided for informational purposes only. Dash Core is not liable for any funds transmitted in error to these providers, or for the accuracy of information on this page.
- PolisPay
The PolisPay Card is one of the fastest, easiest ways to turn your Dash into fiat currency. You can use your PolisPay Card for online shopping and at any brick and mortar retailer that accepts MasterCard® debit cards. You can also withdraw cash at any MasterCard®-compatible ATM.
- FuzeX
The FuzeX Card & FuzeX Wallet strive to offer an all in one payment solution that provides a smarter way to pay. The card offers real-time exchange of cryptocurrency at the time of purchase. The goal is to make paying with cryptocurrency secure, fast and a seamless process for everyday use.
- Paycent
Paycent provides Android and iOS wallets that can be funded using both fiat and cryptocurrency. Users can transact with one another within the app, identified by their mobile numbers, or order physical debit cards to spend their balance. Dash is the preferred network partner of Paycent.
- SpectroCoin
Spectrocoin offers an exchange, wallet and POS service, with a physical card potentially available again soon. Dash, Bitcoin and Ethereum are supported, as well as over 20 major fiat currencies.
- Bitwala
Bitwala is currently preparing legal documentation to re-launch it's card service in Europe, and has supported Dash in the past.
Tax¶
Taxation law is different depending on where you qualify as a resident for tax purposes. The following services are available to help you calculate your tax obligations.
Getting Started¶
Dash welcomes new merchants and supports integration through a standardised onboarding process. It's easy to begin accepting payments in Dash and enjoy the following benefits:
- Settlement within seconds and clearance within minutes
- Ability to accept payments from any market around the world
- Irreversible transactions to prevent fraud
- Advanced privacy for both customers and merchants
- Lowest fees in the industry
A three-part course on why Dash is a popular choice for payments and how integration takes place is available in English and Spanish on DashAcademy.com. To get started with an integration in your sales system, simply select an online or point of sale payment solution from the lists below. If you are unsure, GoCoin is a popular choice due its support for InstantSend, while CoinPayments supports the largest range of online shop software. Anypay is an incredibly simple solution for retail stores, and also supports InstantSend. Larger integrations may require some customisation or cooperation with a specialist payment processor such as ePaymints. This documentation also describes the administrative and technical steps required to integrate various Dash services.
Any Dash received in payment can be automatically converted to the fiat currency of your choice using services such as Uphold. Simply select the card for the target currency and click Add funds -> With cryptocurrency. Any cryptocurrency deposited to this address will immediately be converted to the target fiat currency at the time of deposit.
Many major merchants accept Dash - check out Bitrefill or CheapAir for examples of what merchant integration can look like. Once you are up and running accepting Dash, consider adding your business to the directory maintained at Discover Dash for increased visibility.
Payment Processors¶
This section lists known payment processors supporting Dash and the business platforms they support. Please conduct thorough research before choosing a payment provider to ensure your needs will be met.
For more advanced payment processing needs, such as for high risk merchant accounts in industries challenged with high levels of chargebacks, it is recommended to contact Dash partner ePaymints.
Online Stores¶
Due to the wide range of platforms for online stores, the following table is intended to help you select an appropriate payment processor for your existing store.
CoinPayments | GoCoin | PayBear | Coingate | GoURL | |
---|---|---|---|---|---|
Blesta | ✓ | ✓ | |||
BoxBilling | ✓ | ||||
Easy Digital Downloads | ✓ | ✓ | |||
Ecwid | ✓ | ||||
Jigoshop | ✓ | ||||
Magento | ✓ | ✓ | ✓ | ✓ | |
OpenCart | ✓ | ✓ | ✓ | ✓ | |
osCommerce | ✓ | ✓ | ✓ | ||
PrestaShop | ✓ | ✓ | ✓ | ✓ | |
Shopify | ✓ | ||||
Tomato Cart | ✓ | ||||
Ubercart | ✓ | ✓ | |||
VirtueMart | ✓ | ✓ | |||
WHMCS | ✓ | ✓ | ✓ | ||
WooCommerce | ✓ | ✓ | ✓ | ✓ | ✓ |
WP eCommerce | ✓ | ✓ | |||
ZenCart | ✓ | ✓ | ✓ |
Point of Sale¶
A range of Point of Sale systems are available. Many function as an app or simple website serving a checkout interface and QR code generator, while others support custom features such as NFC or a rewards scheme. QR.cr, Spark Payments and Anypay are supported by the community and are particularly widespread.
Name | App? | Web? | Hardware? | NFC? | Notes |
---|---|---|---|---|---|
34 Bytes | ✓ | Hardware terminal capable of printing receipts. | |||
Alt36 | Full stack system. Supports integration of suppliers and employees. | ||||
Anypay | ✓ | ✓ | Popular solution for smartphones with web interface and backend. | ||
CDPay | ✓ | ||||
CoinPayments | ✓ | ✓ | |||
CopPay | ✓ | ||||
EletroPay | ✓ | POS device with ePaper display for unique QR codes and built-in receipt printer. | |||
Festy | ✓ | NFC wristband payments for festivals. | |||
GB CortexPay | ✓ | Professional hardware terminal with multiple payment options. | |||
Paytomat | Token rewards for crypto payments. | ||||
QR.cr | ✓ | ✓ | Cheap solution with many features to use a mobile phone as a POS terminal. | ||
QuikWallet | ✓ | ✓ | India only. Also supports SMS payment. | ||
SetGetGo | ✓ | ✓ | Available for Android, web and Android APIs, payment buttons, competitive fees | ||
Spark Payments | ✓ | ✓ | Available for Android, Windows, macOS, Linux. 94 exchange rates and Uphold.com supported |
Installation Examples¶
This section contains worked examples of how to install, configure and process your first payment using the payment processors listed in this documentation.
WooCommerce and GoCoin¶
If your online store is built on WooCommerce, you can simply install GoCoin as an additional payment gateway and immediately begin accepting Dash. This guide assumes you have already installed Wordpress, installed WooCommerce and created at least one product in your store.
Go to the gocoin-woocommerce GitHub Releases page and download a zip file of the latest version of the plugin, as shown below. In your WordPress administration backend, select Plugins -> Add New and then click Upload Plugin. Click Choose File and select the file you just downloaded, then click Install Now and Activate Plugin.


Next, go to the GoCoin merchant sign up page and create an account. Once you are logged in, go to Preferences, select Dash and click Add DASH Address to add a payment withdrawal address. You will receive an email with a link to confirm the address. Next, go to Developers and copy the Merchant ID into a temporary text file. Next, click Get Key to display a valid API key. Copy this key into your temporary text file as well. Finally, you can optionally add a Dash logo to your checkout by Profile section and clicking Logo -> Upload.


Back in the WordPress plugins section, click the Settings button for the WooCommerce plugin and navigate to Checkout -> GoCoin section. Ensure the GoCoin plugin is enabled here, then enter the Merchant ID and API Key in the appropriate fields as shown below, modifying the other fields as necessary. Click Save changes when you are ready.

Your customers will now see an option to pay with Dash when completing the checkout process for an order. The payment will be processed by GoCoin, and you will receive emails detailing each purchase procedure. You can choose how often you want to withdraw your payments, to which Dash address and various other options in the GoCoin administration section. See the GoCoin Documentation for more information.



WooCommerce and CoinPayments.net¶
If your online store is built on WooCommerce, you can simply install CoinPayments as an additional payment gateway and immediately begin accepting Dash. This guide assumes you have already installed Wordpress, installed WooCommerce and created at least one product in your store. A video of the process to install the CoinPayments payment processor is also available.
In your WordPress administration backend, select Plugins -> Add New and type "coinpayments.net" into the search box. A plugin named CoinPayments.net Payment Gateway for WooCommerce should appear. Click Install Now to install the plugin. Alternatively, you can download the plugin from the WordPress website as a zip file and upload it using the Upload Plugin button. Once the plugin is installed, click Activate to begin configuration.
Next, go to CoinPayments.net and sign up to create an account. Once you are logged in, go to Account -> Coin Acceptance Settings and enable Dash, as well as optionally entering a withdrawal address. Next, go to Account -> Account Settings and copy Your Merchant ID from the Basic Settings area into a text file. Then navigate to the Merchant Settings section and enter a long, random series of characters for the IPN Secret. Copy this code to your temporary file as well.
Back in the WordPress plugins section, click the Settings button for the WooCommerce plugin and navigate to Checkout -> CoinPayments.net section. Ensure the CoinPayments plugin is enabled here, then enter the Merchant ID, IPN Secret and Description in the appropriate fields as shown below. Click Save Changes when you are ready.
Your customers will now see an option to pay with Dash when completing the checkout process for an order. The payment will be processed by CoinPayments.net, and you will receive emails detailing each purchase procedure. You can choose how often you want to withdraw your payments, to which Dash address and various other options in the CoinPayments administration section. See the CoinPayments Documentation or Merchant Tools for more information.



Point-of-Sale with Anypay¶
Anypay.global allows you to quickly start accepting point-of-sale payments in Dash at a physical store. The service functions as a simple website that you load on any internet- connected and touch-enabled device, such as a smartphone or tablet.
Begin by registering an account with Anypay. You will be asked to specify an email address and password. Once you are signed in, you must add a Dash payment withdrawal address.



Once this has been set up, you can begin processing payments immediately. Simply log in to https://pos.anypay.global or tap Merchant Point of Sale App in the admin area using your device. A keypad will appear. Enter the invoice amount in USD or DASH and press the COLLECT button at the bottom of the screen. The app will generate a QR code for your customer to scan. Once payment is complete, you will be able to create a new invoice by tapping Next Payment, or view the status of your invoices by tapping the menu button in the top left corner of the keypad, or checking the Invoices section of the administration backend. Withdrawals are processed to the address you specified shortly after payment is complete.



Point-of-Sale with Spark¶
Spark Payments allows you to quickly start accepting point-of-sale payments in Dash at a physical store. The system works as an app, and is available for Android, macOS, Windows and Linux, with an iOS progressive web app (PWA) in development.
The project is an external terminal application for processing Dash payments in brick and mortar stores. The merchant types the sale amount in their local currency (94 currencies supported), the application will generate a QR code sale for the proper amount of Dash for the customer to scan. Then the terminal will provide feedback on the status of the payment (received, timed out, partial, instantsend or regular), and if set up - fiat conversion through uphold.com. A guide on how to set up Spark with Uphold to convert payments to fiat currency is available in English and German.
To use Spark, open the app on your device. If this is the first time you are using the app, you will need to specify a Dash address to receive payments from the system, as well as your chosen fiat currency. You can change this information at any time from the menu. To generate a payment invoice, enter the amount in fiat currency. Spark will generate a QR code containing your specified address and the requested amount, denominated in Dash. The customer scans the QR code, and the app will display a visual indication when payment is complete.
Payment systems like Anypay and Spark can be integrated with your existing terminal and/or accounting software (such as Square Register, by recording sales invoiced in Dash as an Other Payment Type in the system. This allows you to keep track of your Dash income as easily as if you were accepting cash.
Administrative Processes¶
It's easy to get started integrating Dash, but you will need to make some decisions about whether you plan to convert your income earned in Dash into your local fiat currency, or if you prefer to hold some or all of it in Dash. Most payment processors offer a range of fiat conversion options, although various fees and limits may be applicable.
Onboarding Process¶
New merchants typically go through the following steps when joining the Dash ecosystem:
- Set up a Dash wallet
- Identify an appropriate payment processor
- Decide on how and when to convert funds
- Implementation and testing
- Release and marketing
- Integration on DiscoverDash
Promoting Dash¶
A wide range of ready-to-go visual products are available to help you promote Dash as a payment method to your customers. This includes promotional graphics and stickers, fonts for consistent visual design and guidelines on how to use the Dash visual identity. See the Marketing section for more information.
The reduced fees may also offer an additional incentive for your customers to pay with Dash, particularly in businesses with high cash handling fees or where it is necessary to add a fee to process credit card transactions.
Currency Conversion¶
Cryptocurrency is a relatively recent development, and rapid development in the ecosystem coupled with various barriers to access and heavy trading mean that fiat-denominated value is subject to considerable fluctuation. As a merchant, you will need to make decisions about how much of your income taken in cryptocurrency should actually be held in cryptocurrency, and how much should be converted back to a fiat currency (such as USD) directly. Different payment processors offer different solutions to this problem.
Services such as GoCoin are able to convert a specified percentage of received payments into a range of fiat currencies for withdrawal. Others such as CoinPayments offer the ability to diversify your payments into a range of different cryptocurrencies, but require you to set up automatic withdrawals to an exchange for conversion to fiat currency. Finally, services such as Uphold allow you to convert your Dash payments between various currencies and commodities very easily, and even offer automated investment services.
Note that these listing are not endorsements, and you must complete your own due diligence and/or seek advice from a tax and investment specialist before investing.
Legal considerations¶
Tax, legal and regulatory considerations may be applicable in some jurisdictions.
Technical Guides¶
Dash Wallet Integration¶
This documentation is also available as a PDF.
Dash Core is a fork of Bitcoin and the majority of functionality included in the Dash Core Daemon can be integrated in a similar manner. Key differences relate to customizations to existing JSON-RPC commands to support unique functionalities such as InstantSend. These differences, as well as more general information, are summarized below.
General Information: Dash is a “Proof of Work” blockchain with attributes similar to that of Bitcoin.
- Block Time: ~2.6 Minutes per Block
- Blockchain Confirmations: 6 Confirmations (or 1 in the case of InstantSend)
- Github Source: https://github.com/dashpay/dash
- Release Link: https://github.com/dashpay/dash/releases
JSON-RPC Interface: The majority of Bitcoin JSON-RPC commands are unchanged making integration into existing systems relatively straightforward. For a complete listing of RPC commands see the Developer Guide.
It’s worth noting that several key Transaction-related JSON-RPC commands have been modified to support InstantSend through the addition of an “InstantLock” field and are listed below:
Block Hashing Algorithm: Dash uses the “X11” algorithm in place of SHA256 used in Bitcoin. It’s important to note, however, that this only affects the hashing of the Block itself. All other internals utilize SHA256 hashes (transactions, merkle root, etc) which allows for most existing libraries to work in the Dash ecosystem.
Supporting Libraries: Due to the aforementioned differences in Hashing Algorithm only minor adjustments are required before using Bitcoin libraries on the Dash network. The most popular libraries have already been ported to Dash which has enabled support for most major programming languages. These resources are outlined in the SDK Resources section of this document.
v0.13.0 Integration Notes¶
This documentation is also available as a PDF.
Dash 0.13.0 implements DIP002 Special Transactions, which form a basis for new transaction types that will provide on-chain metadata to assist various consensus mechanisms. The following special transaction types exist:
Release | Version | Type | Payload Size | Payload | Payload JSON | Transaction Purpose |
---|---|---|---|---|---|---|
v0.13.0 | 3 | 0 | n/a | n/a | n/a | Standard Transaction |
v0.13.0 | 3 | 1 | <variable int> | <hex> | proRegTx | Masternode Registration |
v0.13.0 | 3 | 2 | <variable int> | <hex> | proUpServTx | Update Masternode Service |
v0.13.0 | 3 | 3 | <variable int> | <hex> | proUpRegTx | Update Masternode Operator |
v0.13.0 | 3 | 4 | <variable int> | <hex> | proUpRevTx | Masternode Revocation |
v0.13.0 | 3 | 5 | <variable int> | <hex> | cbTx | Masternode List Merkle Proof |
v0.13.0 | 3 | 6 | <variable int> | <hex> | qcTx | Quorum Commitment |
Integration notes:
- DIP002 Special Transactions are a foundational component of Dash Core v0.13.0 and introduce a new Transaction Version and related “Payload” to the network.
- Integrated Systems must be able to serialize and deserialize these new Transaction Types in order to accurately encode and decode Raw Transaction data.
- From a backwards compatibility
perspective, the 4 byte (32-bit)
version
field included in Legacy Transactions has been split into two fields:version
andtype
(each consisting of 2 bytes). - InstantSend
status and Payload JSON (e.g.
proRegTx
) is included in the JSON-RPC response, please note that this data is not part of the calculated hash and is provided for convenience.
Legacy transaction structure:
{
"txid": <string>,
"size": <int>,
"version": 2,
"locktime": 0,
"vin": [],
"vout": [ … ]
}
Updated transaction structure:
{
"txid": <string>,
"size": <int>,
"version": 3,
"type": <int>,
"locktime": 0,
"vin": [ … ],
"vout": [ … ],
"extraPayloadSize": <variable int>,
"extraPayload": …
}
See the Special Transactions developer documentation
for additional detail on these data types, e.g. <variable int>
. See
the v0.13.0 transaction types integration documentation (PDF)
for worked examples of each transaction type.
API Services¶
This documentation is also available as a PDF.
Several API services exist to facilitate quick and easy integration with the Dash network for services including:
- Transaction broadcasting
- Exchange rates
- Currency conversion
- Invoice generation
API Services are typically leveraged to eliminate that requirement of running your own infrastructure to support blockchain interactions. This includes mechanisms such as:
- Forming and Broadcasting a Transaction to the network.
- Address generation using HD Wallets.
- Payment Processing using WebHooks.
There are a variety of options for supporting these methods, with the key differentiator being the pricing model included and supported features. The following list of API Providers attempts to outline these key features/differentiators and also includes a link to related documentation.
Insight¶

https://github.com/dashevo/insight-api
The open-source Insight REST API provides you with a convenient, powerful and simple way to read data from the Dash network and build your own services with it. A practical guide to getting started with the Insight API and Insight UI block explorer is available here.
- Features: Transaction Broadcast, WebSocket Notifications.
- Pricing Model: Free / Open Source
- Documentation: https://github.com/dashevo/insight-api
BlockCypher¶

BlockCypher is a simple, mostly RESTful JSON API for interacting with blockchains, accessed over HTTP or HTTPS from the api.blockcypher.com domain.
- Features: Transaction Broadcast, HD Wallet / Address Generation, WebSocket and WebHook Callbacks as well as Payment Forwarding. BlockCypher does not handle Private Keys.
- Pricing Model: Per API Call, 5000 Requests -> $85.00 per month (https://accounts.blockcypher.com/plans)
- Documentation: https://www.blockcypher.com/dev/dash/
ChainRider¶

ChainRider is a cloud service providing a set of REST APIs for digital currency management and exploration.
- Features: Blockchain queries, Event Notifications, Transaction Broadcast, Payment Processing, etc.
- Pricing Model: Free trial, pay per API call
- Documentation: https://www.chainrider.io/docs/dash
GoCoin¶

The GoCoin platform makes taking Dash as easy as installing a plugin. Payment processing is already implemented for every major shopping platform. GoCoin is focused on helping merchants in privacy-related niches and specific industries, and handles all transaction risk for all payments from your customers.
- Features: Invoicing, Exchange Rates, WebHook Callbacks. GoCoin holds Private Keys on their server allowing the merchant to withdraw funds in Cryptocurrency or convert to Fiat.
- Integrations: WooCommerce, Magento, Prestashop, VirtueMart, ZenCart, OpenCart, OSCommerce, UberCart, nopCommerce, WHMCS, NATS4, Shopify.
- Pricing Model: 1% Processing Fee (https://gocoin.com/fees)
- Documentation: https://gocoin.com/docs
CoinPayments¶

CoinPayments is an integrated payment gateway for cryptocurrencies such as Dash. Shopping cart plugins are available for all popular webcarts used today. CoinPayments can help you set up a new checkout, or integrate with your pre-existing checkout.
- Features: Invoicing, Exchange Rates, WebHook Callbacks. CoinPayments holds Private Keys on their server allowing merchant to withdraw funds in Cryptocurrency or convert to Fiat.
- Integrations: aMember Pro, Arastta, Blesta, BoxBilling, Drupal, Ecwid, Hikashop, Magento, OpenCart, OSCommerce, PrestaShop, Tomato Cart, WooCommerce, Ubercart, XCart, ZenCart
- Pricing Model: 0.5% Processing Fee (https://www.coinpayments.net/help-fees)
- Documentation: https://www.coinpayments.net/apidoc
SDK Resources¶
This documentation is also available as a PDF.
SDKs (Software Development Kits) are used to accelerate the design and development of a product for the Dash Network. These resources can either be used to interface with an API provider or for the creation of standalone applications by forming transactions and/or performing various wallet services.
Dash Developer Guide¶

https://dash-docs.github.io/en/developer-guide
The Dash Developer Guide aims to provide the information you need to understand Dash and start building Dash-based applications. To make the best use of this documentation, you may want to install the current version of Dash Core, either from source or from a pre-compiled executable.
- Documentation: https://dash-docs.github.io/en/developer-guide
NodeJS/JavaScript: Bitcore (Dashcore)¶

Dashcore is a fork of Bitcore and operates as a full Dash node — your apps run directly on the peer-to-peer network. For wallet application development, additional indexes have been added into Dash for querying address balances, transaction history, and unspent outputs.
- Platform: NodeJS / Javascript
- Documentation: https://bitcore.io/api/lib
- Repository lib: https://github.com/dashevo/dashcore-lib
- Repository node: https://github.com/dashevo/dashcore-node
PHP: Bitcoin-PHP¶
https://github.com/Bit-Wasp/bitcoin-php
Bitcoin-PHP is an implementation of Bitcoin with support for Dash using mostly pure PHP.
- Platform: PHP
- Documentation: https://github.com/Bit-Wasp/bitcoin-php/blob/master/doc/Introduction.md
- Repository: https://github.com/Bit-Wasp/bitcoin-php
Python: PyCoin¶
https://github.com/richardkiss/pycoin
PyCoin is an implementation of a bunch of utility routines that may be useful when dealing with Bitcoin and Dash. It has been tested with Python 2.7, 3.6 and 3.7.
- Platform: Python
- Documentation: https://pycoin.readthedocs.io/en/latest/
- Repository: https://github.com/richardkiss/pycoin
Java: DashJ¶

https://github.com/HashEngineering/dashj
DashJ is a library for working with the Dash protocol. It can maintain a wallet, send/receive transactions (including InstantSend) without needing a local copy of Dash Core, and has many other advanced features. It's implemented in Java but can be used from any JVM compatible language: examples in Python and JavaScript are included.
- Platform: Java
- Documentation: https://bitcoinj.github.io/getting-started
- Example application: https://github.com/tomasz-ludek/pocket-of-dash
.NET: NBitcoin¶

https://github.com/MetacoSA/NBitcoin
NBitcoin is the most complete Bitcoin library for the .NET platform, and has been patched to include support for Dash. It implements all most relevant Bitcoin Improvement Proposals (BIPs) and Dash Improvement Proposals (DIPs). It also provides low level access to Dash primitives so you can easily build your application on top of it.
- Platform: .NET
- Documentation: https://programmingblockchain.gitbooks.io/programmingblockchain/content/
- Repository: https://github.com/MetacoSA/NBitcoin
BlockCypher¶

BlockCypher also offers client SDKs.
- Platform: Ruby, Python, Java, PHP, Go, NodeJS
- Repositories: https://www.blockcypher.com/dev/dash/#blockcypher-supported-language-sdks
인스턴트샌드¶
This documentation is also available as a PDF.
InstantSend is a feature provided by the Dash network that allows for 0-confirmation transactions to be safely accepted by Merchants and other service providers. Secured by the Masternode Network, this mechanism eliminates the risk of a “Double Spend” by locking transaction inputs for a given transaction at a protocol level.
InstantSend Transactions vs. Standard Transactions¶
From an integration perspective there are only minor differences between an InstantSend Transaction and a Standard Transaction. Both transaction types are formed in the same way and are signed using the same process; the key difference is the fee structure and input requirements for InstantSend.
- Fee Structure: InstantSend utilizes a “per-input” fee of 0.0001 DASH per Input.
- Input Requirements: All inputs for an InstantSend transaction must have at least 6 confirmations.
In the event that a given transaction does not meet both criteria it will revert to a standard transaction.
Receiving InstantSend Transactions¶
InstantSend transactions are handled in the same way as a Standard Transaction, typically through JSON-RPC, Insight API, or an internal notification script / service that is configured at a server level.
JSON-RPC: The following RPC commands will include InstantSend-related information. Within the response you’ll find an “InstantLock” field the status of a given Transaction. This true/false (boolean) value will indicate whether an InstantSend has been observed.
- GetTransaction: https://dash-docs.github.io/en/developer-reference#gettransaction
- ListTransactions: https://dash-docs.github.io/en/developer-reference#listtransactions
- ListSinceBlock: https://dash-docs.github.io/en/developer-reference#listsinceblock
Insight API: Insight API can be used to detect InstantSend transactions and to push notifications to clients using WebSockets. The API can also be manually polled to retrieve Transaction information including InstantSend status.
- Web Socket: https://github.com/dashevo/insight-api#web-socket-api
- Transaction API: https://github.com/dashevo/insight-api#instantsend-transactions
Script Notify: The Dash Core Daemon can be configured to execute an external script whenever an InstantSend transaction relating to that wallet is observed. This is configured by adding the following line to the dash.conf file:
instantsendnotify=/path/to/concurrent/safe/handler %s
Note that only addresses imported to the wallet will be monitored for InstantSend Transactions.
Broadcasting InstantSend Transactions¶
InstantSend Transactions can be constructed and broadcast using an approach similar to Standard Transactions. Provided the InstantSend Fee Structure and Input Requirements are met, an InstantSend can be broadcast using JSON-RPC or Insight API as a Raw Transaction.
JSON-RPC: The “SendRawTransaction” RPC command can be utilized to broadcast a raw transaction using InstantSend. When utilizing this command be sure to set both optional parameters as “true”
sendrawtransaction "hexstring" ( allowhighfees instantsend )
sendrawtransaction "hexstring" true true
More Information: https://dash-docs.github.io/en/developer-reference#sendrawtransaction
Insight API: Raw Transactions can also be broadcast as an InstantSend using Insight API. In this case all that is required is to POST the raw transaction using the
/tx/sendix
route.More Information: https://github.com/dashevo/insight-api#instantsend-transaction
Additional Resources¶
The following resources provide additional information about InstantSend and are intended to help provide a more complete understanding of the underlying technologies.
Vending Machines¶
Community member moocowmoo has released code to help merchants build their own vending machine and set it up to receive Dash InstantSend payments. The Dashvend software can also be used to create any sort of payment system, including point-of-sale systems, that can accept InstantSend payments.
Price Tickers¶
You can add a simple price ticket widget to your website using the simple code snippet generator from CoinGecko.
Similar widgets with different designs are available from CoinLib, WorldCoinIndex and Cryptonator, while an API providing similar information is available from DashCentral.
QR Codes¶
Many wallets are capable of generating QR codes which can be scanned to simplify entry of the Dash address. Printing these codes or posting the on your website makes it easy to receive payment and tips in Dash, both online and offline.
- In Dash Core, go to the Receive tab, generate an address if necessary, and double-click it to display a QR code. Right click on the QR code and select Save Image to save a PNG file.
- In Dash for Android, tap Request Coins and then tap the QR code to display a larger image. You can screenshot this to save an image.
- In Dash for iOS, swipe to the left to display the Receive Dash screen. A QR code and address will appear. You can screenshot this to save an image.
- To generate a QR code from any Dash address, visit CWA QR Code Generator and simply paste your Dash address to generate an image.
거버넌스¶
DGBB 즉, Blockchain에 의한 분산된 거버넌스 (decentralized governance by blockchain)는 암호화폐 상의 중요한 두가지 문제, 즉 거버넌스 및 자금 지원 문제를 해결하려는 대시의 시도라고 볼 수 있습니다. 이 정의에 따르면 프로젝트에 대한 결정을 내릴 중앙 권한이 없기 때문에 분산 프로젝트의 거버넌스는 어렵습니다. 대시에서는 그러한 결정이 네트워크, 즉 마스터노드의 소유자에 의해 결정됩니다. DGBB 시스템을 사용하면 각 제안서에 대해 각 마스터노드가 한 번 투표할 수 있습니다 (예 /아니오/기권). 제안서가 통과되면 대시의 개발자가 제안서를 구현할 수 있습니다. 주요 사례로는 2016년 초, Dash의 핵심팀이 블록 크기를 2MB로 늘려야하는지 여부를 묻는 제안서를 네트워크에 제출한 경우입니다. 이러한 변화를 승인하기 위해 24시간 내에 합의가 이루어졌습니다. Bitcoin의 경우 블록 크기에 대한 토론이 거의 3년 동안 결론이 나지 않아 격앙되어 커뮤니티내에서도 심각한 분열이 발생하여 심지어 Bitcoin 블록 체인로 갈라진 경우와 상대적으로 비교되는 예입니다.
DGBB는 또한 대시가 자체 개발 자금을 조달할 수 있는 방법이라고 볼 수 있습니다. 다른 프로젝트는 기부나 기부금에 의존해야하지만, 대시는 자체 개발 자금으로 블록 보상의 10 %가 사용됩니다. 블록을 채굴할 때마다 보상의 45 %가 채굴자에게 전달되고 45 %는 마스터노드로 이동하며 나머지 10%는 월말까지 생성되지 않습니다. 그 달에 누구나 네트워크에 예산 제안을 할 수 있습니다. 해당 제안서가 마스터 노드 네트워크의 최소 10 %의 승인을 얻은 경우, 월말에 요청 된 금액이 "수퍼블록"으로 지급됩니다. 그 시기에 지급되지 않은 블록 보상 (각 블록의 10 %)은 승인된 제안서를 작성하는데 사용됩니다. 따라서 네트워크는 예산 프로젝트에 대한 블록 보상의 10%를 예약하여 자금을 조달합니다.
2016년 말, IOHK는 취약점 및 개선 영역에 대한 공식 분석을 포함하여 대시 관리 시스템 버전 0.12.1에 대한 자세한 보고서를 준비했습니다. 여기 에서 보고서를 열람할 수 있습니다.
대시 거버넌스에 대한 자세한 내용은 다음 섹션에서 자세히 배우실 수 있습니다.
Understanding Dash Governance¶
One of the greatest challenges of building a cryptocurrency platform is ensuring you create a decentralized system of governance to manage, fund, maintain and expand the project. This key element has been absent in every major currency to date, so the natural response is to create a not-for-profit foundation that is tasked with maintaining the core protocol and promoting the coin, but is not really connected to the coin holders in any meaningful way. This approach has a few issues that have been made evident from the experience of older crypto currency platforms.
Current crypto foundations are not related to the currency itself by any mechanism that is included in the protocol and are not designed to outlive early adopters when they lose interest. The foundation then struggles to maintain funding until it implodes and core development of the protocol is left scrambling for funding or depending on charity that can’t be counted on and does not allow for proper budgeting and planning. Donations are also unfair to donors because there are always free riders that benefit from the effort done by others without contributing. Other projects have financed themselves by premining coins or running prelaunch sales, which is not a great solution either because control of the funds is centralized and at that stage it is impossible to quantify the future needs of the project.
Through the network of full nodes and the collateral requirement, Dash already has a decentralized network of masternode operators that are heavily invested in the future of the currency, and that as a group can act as stewards of the core protocol development and promotion. We propose a decentralized management system based on the masternode voting mechanism. Masternode operators are not the only ones interested in the success of Dash, but they are the most stable ones because, unlike miners, they can’t reuse their asset for any other purpose or coin.
In the budget system, a portion of the block reward is held in escrow by the network itself, in the name of the operators, to be executed in the development and expansion of the ecosystem according to the vote of the masternodes in different budget proposals. These funds are directed to supporting development and promotion of the coin. Masternode operators vote on specific budgets and projects to be funded, thus defining the direction the coin is taking. This is done in a completely transparent way through a public portal where new initiatives are proposed and masternodes can vote on them. Functioning like a decentralized Kickstarter or Lighthouse, the budget can be used for anything that creates value within the ecosystem.
This is a 100% decentralized system powered by the masternodes, where budgets are set and paid directly from the blockchain. The blockchain hires core developers in this way and introduces a new concept of paid blockchain contractors, where people work for and are directly compensated by the network, through the decentralized votes of all masternode operators. One advantage of this model is it can survive early adopters. If early masternode operators sell their coins, the new owner can set up a masternode and with it acquire the right to vote on the budgets and projects. This guarantees there is a working system of maintenance as people come and go, making the network capable of sustaining itself on its own without depending on specific actors.
Note that if you do not operate a masternode, you may still be able to vote on DashBoost proposals. See https://www.dashboost.org for more information.
Budgets and masternode voting¶
The system works as a decentralized voting mechanism set up in the rules governing the blockchain, where budgets for specific projects are proposed, then the masternodes as a whole vote on them. Each project, if it passes, is added to the total budget and paid directly from the blockchain to the person doing the work. This allows Dash to hire core developers and pay them directly after approval of the work in a decentralized fashion.
A masternode votes on a proposal (technically a governance object on the blockchain) using the example command “masternode vote yes”, “masternode vote no” or “masternode vote abstain”. The votes then propagate across the network, and are tallied according to instructions followed by the network itself. Budgets under discussion and voting progress can be viewed using the example command “masternode budget show”.
A well defined decentralized system of governance allows a cryptocurrency network to endure and survive its original creators. In this way, later generations of masternode operators have a clear way to support the system as defined by the protocol itself, applying wisdom of the crowd techniques and the bond of trust established by the masternode collateral to create a decentralized management system. This creates incredible value within the currency, allowing us to be more agile and compete with other payment systems, such as Bitcoin and credit cards, on a global scale.
As the system has developed, a strong team of productive contractors paid from blockchain rewards has arisen and become established. This includes the core development team, escrow providers, news and reporting staff, experimental development labs, partnerships with universities, hiring of marketing and PR firms and integrations with third party exchanges and payment platforms. The market recognizes the value of the stability of the network as a whole, and that the possibility of reliable and sufficient funding results in faster and more coherent implementation of the Dash roadmap and core Dash services.
Reward schedule¶
To guarantee long term sustainability of the blockchain, the network keeps a portion of the block rewards back as new blocks are created, with the masternode operators tasked to act as stewards and invest in the maintenance and expansion of the network by voting. This results in faster development and promotion, creating a virtuous cycle that benefits all actors, including miners, masternode operators, investors and users. More importantly, this gives the blockchain itself a self- preservation mechanism that is beyond the control of any individual.
Mining reward for Proof-of-Work | 45% |
Masternode reward for Proof-of-Service | 45% |
Decentralized governance budget | 10% |
Masternodes and miners take 45% of the mining reward each, at the time it is created. The remaining 10% is disbursed monthly by the masternode operators once the results of their votes are tallied, creating the first self-sustaining decentralized cryptocurrency platform organized as a Decentralized Autonomous Organization (DAO). The masternode operators establish a social contract with the network they benefit from and are bound to act as caretakers, dedicating their time, due diligence work and a portion of the network rewards to furthering the ecosystem. This has a ripple effect that benefits all parties involved - especially the end users.
The value generated by work done implementing proposals is expected to be greater than allocating 100% of rewards to mining because the network has needs beyond only cryptographically securing the blockchain. The expected result is greater net benefit not only for proposal winners, but also masternode operators, miners and normal users. In fact, the introduction of the decentralized governance budget itself was decided by a masternode vote, making the first distributed decision the actual creation of the system, similar to establishing a constitution.
This approach of distributing the normal block reward in a way that considers all critical elements a cryptocurrency needs for its long term viability, e.g. mining, full nodes, development and promotion, is revolutionary as it is done without changing the emission or creating any additional inflation for investors. The network simply distributes the available resources in a way that is of greater net benefit to all parties.
Contractors and proposals¶
Contractors of the blockchain can be developers, outreach professionals, team leaders, attorneys or even people appointed to do specific tasks. Proposals generally begin life as simple pre-proposal forum posts on the Dash Forum, where feedback and suggestions are solicited from the general community. Once the proposal owner decides they have a reasonable chance of passing their proposal, it is created as a governance object on the blockchain. A fee of 5 DASH is associated with this action to prevent spam and ensure only serious proposals make it to this stage. Several tools exist to allow masternode operators to comfortably review and vote on proposals. The net total of yes votes must exceed 10% of the total masternode count at the time votes are tallied in order to pass. If there are more passing proposals than the available block reward can provide for, the proposals with the most yes votes will pass first, creating a cut-off point for less popular proposals. The same process is then repeated every month, and the total amount of Dash available for proposals decreases by approximately 7.14% per year, together with the overall block reward.
The following video by Tao of Satoshi includes advice for proposal owners entering proposals during periods of high competition for the available budget funds:
Proposal websites¶
The community has gathered around DashCentral as a website to facilitate discussion and voting on proposals formally entered on the Dash blockchain. Other websites, such as Dash Ninja and Dash Nexus are available to monitor progress over time and gather more detailed statistics. Dash Masternode Tool also allows for voting without the need to share masternode private keys with a third party service.
Each proposal includes a description of the proposal goals, details of what work will be done and a breakdown of the requested budget. Many proposals also link to their own website or the pre-proposal discussion, or include a video to validate the identity and sincerity of the proposal owner. Discussion on Dash Central occurs below this information, and masternode owners have the option to verify their ownership of a masternode and ability to cast a vote by signing a message from the masternode collateral address. Masternodes can vote at any time, and also change their vote at any time until the cutoff block is mined and voting stops. This occurs 1662 blocks prior to the superblock. After voting stops, the blockchain executes a decentralized tally and validates all votes. Once consensus is reached, the results are broadcast and the budget is allocated soon after in a superblock.
Once passed, proposals are able to report back to the network on the Dash Forum or via published public channels and social media. Since it is possible to create proposals that pay out over several months, it is also possible to revoke funding from a project by changing the vote if development or spending of already allocated funds is unsatisfactory. This encourages proposal owners to work honestly and diligently to win the trust and approval of the network. Ongoing discussion and gradual improvement over time results in a close bond between the network and those working for the network in supporting roles.
Voting on proposals is updated in real time every 2.5 minutes as blocks are mined, so current winning proposals and the total allocation of the available budget are always open and visible to everyone. Dash Nexus is a popular site used for this purpose.
Finally, Dash Watch (which was itself funded through a budget proposal) exists to monitor the ability of blockchain contractors to deliver on their promises with respect to delivery dates and the total amounts of budget allocated over multiple voting periods. A team of dedicated staff routinely interact with proposal owners to track progress of the various projects and provide reports to voting masternodes in a single location. While providing data on the performance of your proposal to Dash Watch is optional, many masternode owners take advantage of the data they make available to make their voting decisions. The Dash Watch team may be contacted at team@dashwatch.org email address or through their website.
Budget allocation¶
The total budget of the network can be calculated by taking 10% of the
reward over the period of time between two superblocks, which occur
every 16616 blocks or approximately 30.29 days. A voting cutoff occurs
1662 blocks before the superblock, and the final votes are tallied at
this point. A proposal must satisfy the condition (YES votes - NO
votes) > (Total Number of Masternodes / 10)
in order to be considered
passing. Then, in the superblock, the winning proposals are awarded in
the order of the margin by which they are passing until either the
entire budget is allocated or no more passing proposals exist. This
allows for completely trustless and decentralized allocation of the
budget.
If a proposal has passed the voting threshold but insufficient funds remain to pay the full amount requested, it will not receive partial funding. Instead, any smaller proposals which have also passed the threshold that will fit in the budget will be funded, even if they have lower net approval than the larger proposal. Proposals requesting payment over multiple budget periods will remain in the treasury system for the duration of their validity, even if they do not pass the voting threshold, and even if insufficient budget is available for funding as described above. Any unallocated budget is simply never created in the superblock, reducing unnecessary inflation.
Due to the decentralized nature of the masternode system, it is sometimes necessary to form funded organisations, such as committees or companies, to be responsible for some project or task. These are submitted in the same way, but the committee itself receives the funds. Another alternative is to place trusted escrow services between the budget allocation event and the actual submitter of the proposal to ensure that work is paid for in stages, as it is delivered. Some oversight over blockchain contractors is sometimes needed. Each budgeted item requires either a team manager or a committee responsible for implementation of the work. Periodically, this manager is expected to report on budget expenditure and completed work to show the value created from the allocated funds. This allows repeat proposal submitters to build up a reputation and gain trust from the community. Proposals which do not provide regular reports and cannot answer questions about their budget allocation will soon be defunded if it is part of a regular monthly proposal cycle. The result is a kind of self-policing system.
Scaling and future uses¶
As the number of blockchain contractors increases, a point is reached where masternode operators cannot be realistically expected to evaluate the volume of proposals. At this point funding organizations can be created to act as contractors for the distribution of funds to many smaller decentralized projects, according to current needs. Dash Core Group, Inc. is one example of such an organization.
The existence of the decentralized budget system puts the power of determining where Dash goes in the future in the hands of the masternode network itself. All core development and several peripheral developers are already funded from the budget, and other projects not even conceivable at this time will likely arise in the future. This decouples the survival and value of the blockchain from the current userbase and developers, making Dash the first blockchain designed to outlive its original users, a self sustainable decentralized cryptocurrency network that can still operate cohesively and bring added value services to end users in a consistent way.
Conclusion¶
Every masternode operator establishes a bond of trust and a social contract with the network in which she is bound to contribute to the development and maintenance of the ecosystem she benefits from. Under this model, a portion of the funds that the operator is bound to receive are in a sense allocated in custody, not in ownership, and are held in escrow by the network to be executed by the operators for the benefit of the ecosystem. Everyone contributes equally and proportionately to the benefits they are receiving and the risks they are taking, there are no privileges and no loopholes. This is complemented by the full node voting mechanism that allows for a distributed group to vote on a continuous basis on practical matters without the need to forfeit their right to decide to others, every few years, like with traditional governments or cooperative corporations.
We envision a future in which this model of transparent, unbreakable and verifiable contribution to the common good, in combination with continuous participation of the crowd through active voting, is utilized to manage organizations that are owned or operated jointly by its members, who share the benefits and responsibilities of those collectives, like governments, cooperative corporations, unions, DAOs, cryptocurrencies, etc. We call this model decentralized governance by blockchain.
Using Dash Governance¶
Dash's Decentralized Governance by Blockchain (DGBB) is a novel voting and funding platform. This documentation introduces and details the theory and practice to use the system.
Understanding the process¶
Introduction¶
- DGBB consists of three components: Proposals, Votes, and Budgets
- Anyone can submit a proposal for a small fee
- Each valid masternode can vote for, against or abstain on proposals
- Approved proposals become budgets
- Budgets are paid directly from the blockchain to the proposal owner
Proposals¶
- Proposals are a request to receive funds
- Proposals can be submitted by anyone for a fee of 5 Dash. The proposal fee is irreversibly destroyed on submission.
- Proposals cannot be altered once submitted
Votes¶
- Votes are cast using the registered voting address
- The voting address can be delegated to a third party
- Votes can be changed at any time
- Votes are counted every 16616 blocks (approx. 30.29 days)
Budgets¶
- Budgets are proposals which receive a net total of yes votes equal to or greater than 10% of the total possible votes (for example over 448 out of 4480)
- Budgets can be nullified at any time if vote totals (cast or re-cast) fall below the approval threshold
- Budgets are processed (paid) in order of yes minus no votes. More popular budgets get payment priority.
- Approximately 6176 dash (in 2018) are available for each budget cycle, decreasing by 7.14% every 210240 blocks (approx. 383.25 days).
Object structure¶
The following information is required to create a proposal:
- proposal-name: a unique label, 20 characters or less
- url: a proposer-created webpage or forum post containing detailed proposal information
- payment-count: how many cycles the proposal is requesting payment
- block-start: the requested start of proposal payments
- dash-address: the address to receive proposal payments
- monthly-payment-dash: the requested payment amount
Persistence¶
- Proposals become active one day after submission
- Proposals will remain visible on the network until they are either disapproved or the proposal's last payment-cycle is reached
- Approval occurs when yes votes minus no votes equals 10% or more of the total available votes.
- Disapproval occurs when no votes minus yes votes equals 10% or more of the total available votes.
- The total available votes is the count of online and responding
masternodes and can be seen by running the command
masternode count
in the Dash Core wallet debug window. A graph of the total masternode count can be found here
Templates¶
The following two Microsoft Word templates are available from Dash Core Group to help facilitate standardized proposal submission and updates. Usage is recommended, but not required.
Budget cycles¶
When preparing a proposal, be aware of when the next cycle will occur and plan accordingly. It is recommended to choose your proposal payment start block at least one cycle in the future to allow time for discussion and gathering support and votes. Note that votes will no longer be tallied 1662 blocks (approximately 3 days) prior to the superblock.
Block height | Approximate date |
---|---|
996960 | Tue Jan 1 06:33:26 UTC 2019 |
1013576 | Thu Jan 31 13:38:28 UTC 2019 |
1030192 | Sat Mar 2 20:43:30 UTC 2019 |
1046808 | Tue Apr 2 03:48:32 UTC 2019 |
1063424 | Thu May 2 10:53:34 UTC 2019 |
1080040 | Sat Jun 1 17:58:36 UTC 2019 |
1096656 | Tue Jul 2 01:03:38 UTC 2019 |
1113272 | Thu Aug 1 08:08:40 UTC 2019 |
1129888 | Sat Aug 31 15:13:42 UTC 2019 |
1146504 | Mon Sep 30 22:18:44 UTC 2019 |
1163120 | Thu Oct 31 05:23:46 UTC 2019 |
1179736 | Sat Nov 30 12:28:48 UTC 2019 |
1196352 | Mon Dec 30 19:33:50 UTC 2019 |
You can view the source code for this calculation at this GitHub gist
Creating proposals¶
Once you have prepared the text of your proposal and set up a website or forum post, it is time to submit your proposal to the blockchain for voting. While all tasks involved with creating a budget proposal can be executed from the Dash Core wallet console, several tools providing a user interface have been developed to simplify this procedure.
Dash Budget Proposal Generator¶
The Dash Budget Proposal Generator supports creating budget proposals on both mainnet and testnet. In the first step, you must enter a short, clear and unique name for the proposal as it will appear on the blockchain. Proposal names are limited to 40 characters. You can then provide a link to the forum or DashCentral where your proposal is described in more detail (use a URL shortening service if necessary), as well as select the amount of payment you are requesting, how often the payment should occur, and the superblock date on which you are requesting payment. This allows you to control in which budget period your proposal will appear, and gives you enough time to build support for your proposal by familiarising voters with your project. Note that the payment amount is fixed and cannot be modified after it has been submitted to the blockchain.

Next, the proposal generator will provide you with a command to run from the console of your Dash Core wallet to prepare your budget proposal governance object. Running this command will cost you 5 DASH, which will be "burnt" or permanently removed from circulation. This one-time fee protects the governance system from becoming overwhelmed by spam, poorly thought out proposals or users not acting in good faith. A small transaction fee is charged as well, so make sure slightly more than 5 DASH is available in your wallet. Many budget proposals request reimbursement of the 5 DASH fee.
First unlock your wallet by clicking Settings > Unlock wallet, then open the console by clicking Tools > Debug console and paste the generated command. The transaction ID will appear. Copy and paste this into the proposal generator response window. As soon as you do this, the system will show a progress bar as it waits for 6 confirmations as follows:

Once 6 block confirmations exist, another command will appear to submit the prepared governance object to the network for voting. Copy and paste this command, and your governance object ID will appear as follows:

You can use this ID to track voting on the proposal until the budget closes and you receive your payout. You can also submit the ID to DashCentral to claim your proposal and enable simplified voting for masternodes using DashCentral voting services.
DashCentral Proposal Generator¶
DashCentral also includes a tool to create budget proposals, or claim existing proposals so you can add a description on DashCentral and begin discussion with the community. The steps to be taken are almost identical to the procedure described above, and documentation is available here.
Voting on proposals¶
You must vote at least three days before the superblock is created or your vote will not be counted. The exact deadline is 1662 blocks before the superblock.
Note that if you do not operate a masternode, you may still be able to vote on DashBoost proposals. See https://www.dashboost.org for more information.
Voting on DGBB proposals is an important part of operating a masternode. Since masternodes are heavily invested in Dash, they are expected to critically appraise proposals each month and vote in a manner they perceive to be consistent with the best interests of the network. Each masternode may vote once on each proposal, and the vote can be changed at any time before the voting deadline. The following sites and tools are available to view and manage proposals and voting:
For information on how to create a proposal, see here.
DashCentral¶
Many masternode operators store their password-protected masternode private key on DashCentral to enable simple voting with a user-friendly interface. The popularity of this site has made it a common place for discussion of the proposals after they are submitted to the governance system. To vote from the DashCentral web interface, first add your masternode private key to your account according to the instructions here. Note that the masternode private key is not the same as the private key controlling the 1000 DASH collateral, so there is no risk of losing your collateral. A separate password is required to unlock the masternode private key for voting, so the risk of the site operator voting in your name is minimal.
When you are ready to vote, go to the budget proposals page. Simply click to view the proposals, then click either Vote YES, Vote ABSTAIN or Vote NO.
Dash Masternode Tool (DMT)¶
If you started your masternode from a hardware wallet using DMT, you can also use the tool to cast votes. Click Tools > Proposals and wait for the list of proposals to load. You can easily see the voting status of each proposal, and selecting a proposal shows details on the Details tab in the lower half of the window. Switch to the Vote tab to Vote Yes, Vote No or Vote Abstain directly from DMT.
Dash Core wallet or masternode¶
If you started your masternode using the Dash Core Wallet (not
recommended), you can vote manually from Tools > Debug console, or
directly from your masternode via SSH using dash-cli
. First click on
the proposal you want to vote on at either DashCentral or Dash Ninja. You will see a command
for manual voting below the proposal description. Copy and paste the
command and modify it as necessary. As an example, take this proposal
from Dash Ninja (or
DashCentral).
The voting code for Dash Core Wallet is as follows:
gobject vote-many 6ed7418455e07f4b30b99f0d4a24a2b83282e12b26fe3415673ecbea04ff6c9d funding yes
gobject vote-many 6ed7418455e07f4b30b99f0d4a24a2b83282e12b26fe3415673ecbea04ff6c9d funding no
gobject vote-many 6ed7418455e07f4b30b99f0d4a24a2b83282e12b26fe3415673ecbea04ff6c9d funding abstain
Note that to vote from your masternode directly, you need to prefix the
command with dash-cli
, which is usually found in the .dashcore
folder. The command should be similar to the following:
~/.dashcore/dash-cli gobject vote-many 6ed7418455e07f4b30b99f0d4a24a2b83282e12b26fe3415673ecbea04ff6c9d funding yes
~/.dashcore/dash-cli gobject vote-many 6ed7418455e07f4b30b99f0d4a24a2b83282e12b26fe3415673ecbea04ff6c9d funding no
~/.dashcore/dash-cli gobject vote-many 6ed7418455e07f4b30b99f0d4a24a2b83282e12b26fe3415673ecbea04ff6c9d funding abstain
Note this command will trigger a vote from all masternodes configured in
dash.conf
. If you have multiple masternodes each with its own .conf
file, or if you want to vote with only some of your masternodes, you
must change the command from vote-many
to vote
. If your vote was
successful, you should see a confirmation message reading Voted
successfully.
You can also view a list of proposals in JSON format from the console to copy and paste the proposal hash for voting as follows:
gobject list
Delegating votes¶
DIP003 masternodes feature a separate voting key, which makes it possible to delegate your vote to a representative. Simply enter a Dash address provided by the delegate when registering your masternode, or update your masternode registration to delegate the vote of a running masternode. The wallet controlling the private key to this address will then cast votes on behalf of this masternode owner simply by following the Dash Core voting procedure described above. No further configuration is required.
8 Steps to a Successful Proposal¶
Proposals in the Dash governance system are subject to voting by masternodes. So, like any voting, you need to convince the voters that your proposal should pass. Here are some key points to consider in every proposal:
- Keep your proposal clear
- Your proposal should have a clear title, followed by a short and simple description of the objectives. Explain early in your proposal exactly how it will benefit the Dash network, how much Dash you are requesting, how you arrived at this value, and finally who you are and how you plan to do the work. Masternodes should be able to immediately get an idea of what you are proposing from the first few lines of your proposal.
- Run a pre-proposal discussion
- Get feedback from the community before you post your proposal to the blockchain. A discussion period of around two weeks will help you find out if someone has proposed something similar in the past, and whether it succeeded or failed. There are pre-proposal channels on the forum and Dash Nation Discord, and Reddit also attracts a lot of views - consider the discussion on these channels to be the research phase of your proposal. Later, you can post a link to the forum discussion when your proposal goes live to show you are including community feedback in your work.
- Manage your identity and reputation
- The Dash community is one of the network's strongest features, and newcomers are always welcome. However, because of the way proposals work, there needs to be reasonable trust that the work promised in the proposal will be completed if it passes. If you are new, consider starting with a smaller proposal first to prove your ability to deliver on time and budget. Attaching your real name or Keybase identity to a proposal also helps build trust. If you are a making a large proposal, get a team together and nominate (or hire) one person to serve as community liaison, since posting from multiple accounts can be confusing.
- Run an enthusiastic campaign for your proposal
- Proposals with a video or website have a far greater chance of succeeding! Uploading a video gives your proposal a human touch and a chance to convey your enthusiasm in a way that isn't always possible in text. Post your video to the forum and DashCentral, become a regular on Discord or run a webinar to explain the proposal and answer questions. Put some work in before you ask for funding to demonstrate your involvement with Dash - but don't be annoying and spam many channels asking for votes.
- Demonstrate your commitment to the network
- If you are asking for significant funding to start up or expand a for-profit business built on Dash, you need to explain why and for how long this funding is required, and what you are offering in return. It can be very helpful to show you have skin in the game by matching the contribution provided in Dash with funds from your own business or investors. Equity or exclusivity agreements can be reached with Dash Core Group, Inc., but must be clarified in writing before the proposal is posted.
- Post your proposal early and make yourself available for questions
- The voting window closes 1662 blocks (or just under 3 days) before the superblock. To give the masternode operators enough time to consider, discuss and vote on your proposal, you must post it well in advance of the voting deadline - it's better to wait for the next superblock than to rush! Most masternodes will see your proposal for the first time once it appears on the blockchain or when you claim it on DashCentral. The first few hours of discussion between masternode owners typically bring up a lot of questions and can be critical to influence opinion and voting, so make yourself available during this time.
- Keep the community updated when your proposal passes
- Your proposal should include details of how you plan to keep the community and network informed of your work. Meet your commitments and post regular reports so your output is clear, and make yourself available on social channels to answer questions. Remember, your ability to pass future proposals depends on your demonstrated ability to deliver and communicate.
- Consider arrangements for large requests
- If you are requesting a significant amount of funding, there is an understandable concern that you will deliver on your promises to the network. Reach out to trusted intermediaries such as Dash Core Group, Inc. or Green Candle, Inc. in advance for advice on escrow, and make the conditions for escrow release public and part of the proposal. If your proposal is so large that uses a significant percentage of the budget, there is a risk that approving your proposal will bump smaller proposals out of the budget. Consider breaking your proposal into smaller monthly payments instead.
See this documentation for specific instructions on how to create a proposal when you are ready. Good luck!
For an example of good reporting, reputation management and use of a video to request funding in a pre-proposal, see this video from Amanda B. Johnson's extremely popular DASH: Detailed proposal:
A few additional points:
- It is currently not possible to pay a budget proposal to a multisig address, or to change the payment address after the proposal is posted to the blockchain.
- To avoid accusations of favouritism and inside trading, Dash Core cannot promote your proposal for you. If your proposal is an integration, reach out to the business development team in advance. Once your product is live, it may be possible to announce it from Dash Core channels.
- If your proposal is for news, promotion or marketing, make sure you synchronise your efforts with major existing organisations such as Dash Force News or marketing firms contracted by Dash Core.
- You are responsible for your own planning to hedge against price volatility. If your proposal involves significant payments to third parties in fiat currency, reach out to Dash Core Group, Inc. or Green Candle, Inc. for advice on escrow, price maintenance, converting currencies and hedging against volatility.
- For the same reason, it is not recommended to request funding for period of longer than three months. Masternodes don't want to see and vote on the same proposal without updates several months in a row, and price volatility makes it a risky proposition both to the network and yourself.
- Before entering your budget proposal on the blockchain, check how many proposals already exist for the current budget cycle. If it is likely to become very crowded or if some proposals are requesting a significant portion of the budget, voting is likely to be very competitive with weaker projects being forced out of the budget, even if they collect sufficient votes to pass the 10% threshold. See here for more details.
마스터노드¶
대시는 익명성 및 빠른 거래 속도에 초점을 둔 최초의 암호화폐로 잘 알려져 있습니다. 많은 사람들이 간과하는 점은 이러한 기능이 마스터노드라는 전용 서버 네트워크 위에 구현되어 기존 블록 체인에서는 사용할 수 없었던 많은 흥미로운 기능을 제공한다는 것입니다. 이러한 기능에는 익명 및 즉시거래는 물론 매월 예산 및 투표를 통해 대시 네트워크의 개발 관리가 포함됩니다. 이러한 기능은 암호화폐 최초이며, 대시가 제공하는 익명성와 속도를 달성하는데에는 마스터노드가 꼭 필요합니다.
이 설명서는 마스터노드가 네트워크에 제공하는 서비스를 이해하는 데 중점을 둡니다. 또한 마스터노드를 어떻게 운영하는지에 대한 가이드와 자체 호스팅 솔루션을 설정 및 유지 관리하여 마스터 노드를 실행하는 방법에 대한 지침을 제공합니다. 마스터노트를 실행하기위한 필수 조건은 대시 네트워크 1000 DASH를 보유하는 것입니다. 이것은 일종의 디파짓이며 마스터노드의 작동 방해없이 거래될 수 없습니다. 두번째 조건은 실제 서버인 대시 마스터노드 소프트웨어를 구동하는 것입니다.
옵션 1: 호스트 마스터노드
자체 서버를 운영하려면 블록 체인 및 Linux서버 운영 체제에 대한 일정 수준의 지식이 필요하므로 여러 커뮤니티 회원이 유료 호스팅 솔루션을 제공합니다. 이러한 서비스를 이용하면 사용자는 블록 보상에서 지불금을 받기 위해 마스터 노드 담보물을 제공하고 호스팅 비용을 지불하면됩니다. 호스트 마스터노드를 설정하는 방법에 대한 정보는 이 페이지 를 참조하십시오.
옵션 2: 자체 운영 마스터노드
대시 네트워크의 내부 동작에 대해 더 깊은 이해 (또는 관심)가 필요한 사용자는 자신의 호스트 서버에서 자신의 마스터노드를 작동하도록 선택할 수 있습니다. 이는 여러 단계가 필요하며, 사용자는 서버와 담보물을 설정, 보안 및 유지 관리해야합니다. 자체 운영 마스터노드를 설정하는 방법에 대한 정보는 이 페이지를 참조하십시오.
Understanding Masternodes¶
Masternodes, once unique to the Dash network, are now becoming popular as the technology is forked into other blockchains. This section of the documentation describes the principles and mechanisms of masternodes and the services they provide to the Dash network specifically.
Simply put, a masternode is a server with a full copy of the Dash blockchain, which guarantees a certain minimum level of performance and functionality to perform certain tasks related to block validation, as well as PrivateSend and InstantSend, as the anonymity and instant transaction features in Dash are called. The masternodes are paid for this service, using a concept known as Proof of Service. This is in addition to the Proof of Work done by miners to secure the blockchain. Masternodes are also allowed to vote on governance and funding proposals, with each masternode receiving one vote (yes/no/abstain) on each proposal submitted to the system.
Anyone can run a masternode. The objective is to have enough decentralization to ensure that no single person controls a significant fraction of the masternodes. However, to avoid bloating the network with unnecessary masternodes or encouraging reckless operators, there is one condition that needs to be fulfilled: proof of ownership of 1000 Dash. The coins don't need to be in the masternode, but they need to be kept in a certain way that is transparent to the entire network. If the owner moves or spends those coins, the masternode stops working and payment ceases.
Masternodes are paid by the network for the PrivateSend, InstantSend and governance services they provide. 45% of the block reward is paid out to the masternodes, 45% to miners and 10% to the budget. In practice, half of the reward from a normal block goes to the miner and half to the masternode. Then, every 16,616 blocks (approximately 30.29 days), a superblock is created that contains the entire 10% payout to the budget proposal winners. Masternodes are selected for payment in each block (approximately every 2.6 minutes) from a deterministic masternode list, and moved to the back of the list after payment. As more masternodes are created, the duration between payments increases. If the collateral behind a masternode is spent, or if a masternode stops providing services to the network for more than one hour, it is removed from the list until normal service resumes. In this way, masternodes are given incentive to provide efficient and reliable services to the network.
Having so many servers holding a full copy of the blockchain and working for the coin can be extremely useful. Thanks to the reward system, there is no risk of not having enough masternodes, and the developers can rely on them quickly deploying any new decentralized feature they want to implement. This is where the true strength of Dash lies - an incentivized system of thousands of distributed servers working 24x7 means that Dash can scale more efficiently and deploy services more quickly than a blockchain run entirely by unpaid volunteers. The more masternodes, the better and safer the Dash network.
As of November 2018, the Dash network has over 5000 masternodes located in over 45 countries and hosted on over 140 ISPs. The block reward is approximately 3.34 Dash, so the selected masternode receives 1.67 Dash per payment or approximately 6 Dash per month. The block reward decreases by 7.14% approximately once per year, so the annual earnings for a masternode owner is approximately 7% of the collateral, and will decrease over time as calculated here. See this tool to calculate real-time payment rates, and this site for various real-time statistics on the masternode network.
DIP003 Masternode Changes¶
Dash 0.13.0 implements DIP003, which introduces several changes to how a Dash masternode is set up and operated. A list of available documentation appears below:
- DIP003 Deterministic Masternode Lists
- DIP003 Masternode Changes (you are here)
- Dash 0.13 Upgrade Procedure
- Full masternode setup guide
- Information for users of hosted masternodes
- Information for operators of hosted masternodes
Important concepts and changes:
- It is possible to upgrade an existing masternode in-place without starting a new server and without moving your 1000 DASH collateral.
- A masternode was previously "started" using the
masternode start-alias
command based on amasternode.conf
file. Under DIP003, this file is no longer used, and masternodes are "registered" instead of "started". Masternodes begin offering services when a ProRegTx special transaction containing a particular key is written to the blockchain. - As before in
masternode.conf
, the ProRegTx references the transaction id (txid) and index holding the collateral. The IP address and port of the masternode are also defined in this transaction. - The ProRegTx contains 2 Dash addresses (also called public keys) and
one BLS public key, which represent 3 different roles in the
masternode and define update and voting rights. The keys are:
ownerKeyAddr
: This is a Dash address (public key) controlled by the masternode owner. It is different from the address used for the collateral. Because the owner uses the private key associated with this address to issue ProUpRegTx transactions, it must be unique for each masternode.operatorPubKey
: This is the BLS public key of the masternode operator. Only the operator is allowed to issue ProUpServTx transactions. Because the operator key is used during live masternode operation to sign masternode-related P2P messages, quorum-related messages and governance trigger votes, the BLS key must be unique for each masternode.votingKeyAddr
: This is a Dash address (public key) used for proposal voting. Votes signed with this key are valid while the masternode is in the registered set.
- Masternode payments were previously sent to the address holding the collateral. Under DIP003, the owner should specify a different address to receive payments in the ProRegTx. The owner may optionally specify a non-zero percentage as payment to a separate masternode operator, if applicable.
- The masternode configuration can later be updated using ProUpServTx, ProUpRegTx and ProUpRevTx transactions. See Updating Masternode Information in DIP003 and Updating Masternode Information in this documentation for more details.
- All functions related to DIP003 will only take effect once Spork 15 is
enabled on the network. Until then, it is necessary to set up the
masternode following the old process
and then work through the upgrade procedure. In
this state, the masternode will continue to function in compatibility
mode, and all DIP003 related functions, such as payments to a separate
address or percentage payments to operators, will not yet have any
effect. The
ownerKeyAddr
andvotingKeyAddr
must also be identical until Spork 15 is enabled.
The process of setting up or upgrading a masternode is as follows:
- Set up your server and operating system
- Install the Dash software and synchronize the blockchain
- Generate a BLS key pair and enter the private key on the masternode
- Prepare a ProRegTx transaction
- Sign the ProRegTx transaction
- Submit the signed ProRegTx transaction
Step 1 can be omitted if you have an existing server. Steps 2 and 3 require direct access to the masternode. Steps 3 and 4 require access to a Dash Wallet (or DMT). Step 5 requires access to the wallet actually holding the collateral. Step 6 requires a Dash balance to pay the transaction fee.
Masternodes vs. mining¶
Dash, like Bitcoin and most other cryptocurrencies, is based on a decentralized ledger of all transactions, known as a blockchain. This blockchain is secured through a consensus mechanism; in the case of both Dash and Bitcoin, the consensus mechanism is Proof of Work (PoW). Miners attempt to solve difficult problems with specialized computers, and when they solve the problem, they receive the right to add a new block to the blockchain. If all the other people running the software agree that the problem was solved correctly, the block is added to the blockchain and the miner is rewarded.
Dash works a little differently from Bitcoin, however, because it has a two-tier network. The second tier is powered by masternodes (Full Nodes), which enable financial privacy (PrivateSend), instant transactions (InstantSend), and the decentralized governance and budget system. Because this second tier is so important, masternodes are also rewarded when miners discover new blocks. The breakdown is as follows: 45% of the block reward goes to the miner, 45% goes to masternodes, and 10% is reserved for the budget system (created by superblocks every month).
The masternode system is referred to as Proof of Service (PoSe), since the masternodes provide crucial services to the network. In fact, the entire network is overseen by the masternodes, which have the power to reject improperly formed blocks from miners. If a miner tried to take the entire block reward for themselves or tried to run an old version of the Dash software, the masternode network would orphan that block, and it would not be added to the blockchain.
In short, miners power the first tier, which is the basic sending and receiving of funds and prevention of doublespending. Masternodes power the second tier, which provide the added features that make Dash different from other cryptocurrencies. Masternodes do not mine, and mining computers cannot serve as masternodes. Additionally, each masternode is “secured” by 1000 DASH. Those DASH remain under the sole control of their owner at all times, and can still be freely spent. The funds are not locked in any way. However, if the funds are moved or spent, the associated masternode will go offline and stop receiving rewards.
Payment logic¶
Masternode paymentss in Dash version 0.13.0 are entirely deterministic and based on a simple list sort algorithm. For documentation of version 0.12.0 payment logic, see the legacy masternode payment documentation. Dash version 0.13.0 implements DIP003 and defines two sets of masternodes.
- The full set, which contains all registered masternodes that have not spent their collateral funding transactions.
- The valid set, a subset of the full set which contains all masternodes which are not marked as Proof of Service (PoSe) banned.
Each masternode in the set of valid masternodes is identified by the block at which it was last paid. If it has never received payment or was banned for failing to meet the PoSe requirements, then the block at which it was first registered or at which PoSe was restored is used instead. The list is sorted in ascending order, and the first entry is paid. If this results in more than one masternode, then the hash of the masternode ProRegTx is sorted to break the tie.
Quorum selection¶
InstantSend transactions in Dash version 0.13.0 are secured using a consensus of deterministically selected masternodes. This set of masternodes is informally termed a quorum and must be in a majority agreement, at least six out of ten, for a successful lock of the transaction inputs. Multiple quorums are self-selected for each input in an InstantSend transaction using the mathematical distance between the hash of each input and of the set of masternode funding transactions.
Each masternode receiving the InstantSend transaction lock request compares the hash of the masternode's funding transaction to the hash of the input requesting the lock. After validating the inputs are not spent, the ten masternodes furthest from this hash broadcast their acceptance of the lock.
All InstantSend inputs must be at least six blocks old or the transaction will be rejected.
Masternode requirements¶
- 1000 Dash: Arguably the hardest part. Dash can be obtained from exchanges such as Poloniex, Bittrex, Kraken and LiveCoin. Shapeshift's service is also an excellent way.
- A server or VPS running Linux: Most recent guides use Ubuntu 16.04 LTS. We recommend VPS services such as Vultr and DigitalOcean, although any decent provider will do. Generally an instance with low to average specifications will do, although performance requirements will increase according to this roadmap.
- A dedicated IP address: These usually come with the VPS/server.
- A little time and (heart): Masternodes used to require complex setup, but tools such as dashman now greatly simplify the process.
In addition to the 1000 Dash held in collateral, masternodes also have minimum hardware requirements. As of version 12.1, these requirements are as follows:
Minimum | Recommended | |
---|---|---|
CPU | 1x 1 GHz | 1x 2 GHz |
RAM | 2 GB | 4 GB |
Disk | 20 GB | 40 GB |
네트워크 | 400 GB/mth | 1 TB/mth |
Masternode bandwidth use ranges between 300-500 GB per month and will grow as the network does.
Dash Evolution¶
The exact hardware requirements for Dash Evolution masternodes have yet to be determined, although some pointers can be taken from the roadmap and this blog post. It should be possible to run Dash masternodes on normal VPS servers until the block size reaches approximately 20 MB, after which custom hardware such as GPUs and eventually ASICs may be required.
Hosting Services¶
Several Dash community members offer masternode hosting services. This service can be realized securely without the customer ever giving up control of the 1000 DASH required for collateral. For security reasons, it is highly recommended to keep the collateral on a hardware wallet when taking advantage of a hosting service. A list of currently available masternode hosting services is available below.
List of hosting services¶
Disclaimer: Dash Core may be affiliated with these community members, but is not involved in the provision of any of these services.
CrowdNode¶

Splawik's Hosting Service¶

AllNodes¶

Node40¶

Masternode.me¶

币舫 (Bifun)¶

Masternodehosting¶
Registering a hosted masternode¶
Dash 0.13.0 implements DIP003, which introduces several changes to how a Dash masternode is set up and operated. A list of available documentation appears below:
- DIP003 Deterministic Masternode Lists
- DIP003 Masternode Changes
- Dash 0.13 Upgrade Procedure
- Full masternode setup guide
- Information for users of hosted masternodes (you are here)
- Information for operators of hosted masternodes
It is highly recommended to first read at least the list of changes before continuing in order to familiarize yourself with the new concepts in DIP003.
Registering a hosted masternode is done in several steps:
- Send 1000 DASH to an address you control in a single transaction and wait for 15 confirmations
- Correspond with your hosting provider to determine who will generate the operator BLS keys, whether their fee will be paid by an operator reward percentage or according to a separate contract, and whether the masternode will be set up before or after the registration transaction
- Prepare, sign and broadcast the registration transaction using Dash Core or DMT
It is highly recommended to store the keys to your masternode collateral on a hardware wallet for added security against hackers. Since the hardware wallet is only used to sign a transaction, there is no need to ever connect this wallet to the internet. However, a Dash Core wallet with balance (for the transaction fee) is required to submit the registration transaction. The masternode registration process closely follows the setup guide, beginning from the registration step.
Operator transactions¶
This documentation is intended for operators managing nodes on behalf of
owners. If you provide an IP address and port of a synchronized full
node with your masternodeblsprivkey
entered in the dash.conf
file as descibed here to the masternode owner,
it will appear in the DIP003 valid set immediately after they submit the
protx register_submit
command as described above. If the full node
is not running, or if the owner submits 0
for the ipAndPort
,
then the node will be registered in a PoSe-banned state. In this case,
the operator will need to issue a ProUpServTx transaction to update the service features and register the
masternode.
The ProRegTx submitted by the owner also specifies the percentage reward for the operator. It does not specify the operator's reward address, so a ProUpServTx is also required to claim this reward by specifying a Dash address. If the reward is not claimed, it will be paid to the owner in full.
Setup¶
Setting up a masternode requires a basic understanding of Linux and blockchain technology, as well as an ability to follow instructions closely. It also requires regular maintenance and careful security, particularly if you are not storing your Dash on a hardware wallet. There are some decisions to be made along the way, and optional extra steps to take for increased security.
Commercial masternode hosting services are available if you prefer to delegate day-to-day operation of your masternode to a professional operator. When using these hosting services, you retain full control of the 1000 DASH collateral and pay an agreed percentage of your reward to the operator. It is also possible to delegate your voting keys to a representative, see the governance documentation for more information.
Before you begin¶
This guide assumes you are setting up a single masternode for the first time. If you are updating a masternode, see here instead. If Spork 15 is not yet enabled, it is not possible to directly set up a DIP003 masternode. You will need to set up the masternode following the old process and then work through the upgrade procedure. You will need:
- 1000 Dash
- A wallet to store your Dash, preferably a hardware wallet, although Dash Core wallet is also supported
- A Linux server, preferably a Virtual Private Server (VPS)
Dash 0.13.0 implements DIP003, which introduces several changes to how a Dash masternode is set up and operated. A list of available documentation appears below:
- DIP003 Deterministic Masternode Lists
- DIP003 Masternode Changes
- Dash 0.13 Upgrade Procedure
- Full masternode setup guide (you are here)
- Information for users of hosted masternodes
- Information for operators of hosted masternodes
It is highly recommended to first read at least the list of changes
before continuing in order to familiarize yourself with the new concepts
in DIP003. This documentation describes the commands as if they were
entered in the Dash Core GUI by opening the console from Tools > Debug
console, but the same result can be achieved on a masternode by
entering the same commands and adding the prefix
~/.dashcore/dash-cli
to each command.
Set up your VPS¶
A VPS, more commonly known as a cloud server, is fully functional installation of an operating system (usually Linux) operating within a virtual machine. The virtual machine allows the VPS provider to run multiple systems on one physical server, making it more efficient and much cheaper than having a single operating system running on the "bare metal" of each server. A VPS is ideal for hosting a Dash masternode because they typically offer guaranteed uptime, redundancy in the case of hardware failure and a static IP address that is required to ensure you remain in the masternode payment queue. While running a masternode from home on a desktop computer is technically possible, it will most likely not work reliably because most ISPs allocate dynamic IP addresses to home users.
We will use Vultr hosting as an example of a VPS, although DigitalOcean, Amazon EC2, Google Cloud, Choopa and OVH are also popular choices. First create an account and add credit. Then go to the Servers menu item on the left and click + to add a new server. Select a location for your new server on the following screen:
Select Ubuntu 18.04 x64 as the server type. We use this LTS release of Ubuntu instead of the latest version because LTS releases are supported with security updates for 5 years, instead of the usual 9 months.
Select a server size offering at least 2GB of memory.
Enter a hostname and label for your server. In this example we will use
dashmn1
as the hostname.
Vultr will now install your server. This process may take a few minutes.
Click Manage when installation is complete and take note of the IP address, username and password.
Set up your operating system¶
We will begin by connecting to your newly provisioned server. On
Windows, we will first download an app called PuTTY to connect to the
server. Go to the PuTTY download page
and select the appropriate MSI installer for your system.
On Mac or Linux you can ssh directly from
the terminal - simply type ssh root@<server_ip>
and enter your
password when prompted.
Double-click the downloaded file to install PuTTY, then run the app from your Start menu. Enter the IP address of the server in the Host Name field and click Open. You may see a certificate warning, since this is the first time you are connecting to this server. You can safely click Yes to trust this server in the future.
You are now connected to your server and should see a terminal
window. Begin by logging in to your server with the user root
and
password supplied by your hosting provider.
You should immediately change the root password and store it in a safe place for security. You can copy and paste any of the following commands by selecting them in your browser, pressing Ctrl + C, then switching to the PuTTY window and right-clicking in the window. The text will paste at the current cursor location:
passwd root
Enter and confirm a new password (preferably long and randomly
generated). Next we will create a new user with the following command,
replacing <username>
with a username of your choice:
adduser <username>
You will be prompted for a password. Enter and confirm using a new password (different to your root password) and store it in a safe place. You will also see prompts for user information, but this can be left blank. Once the user has been created, we will add them to the sudo group so they can perform commands as root:
usermod -aG sudo <username>
Now, while still as root, we will update the system from the Ubuntu package repository:
apt update
apt upgrade
The system will show a list of upgradable packages. Press Y and Enter to install the packages. We will now install a firewall (and some other packages we will use later), add swap memory and reboot the server to apply any necessary kernel updates, and then login to our newly secured environment as the new user:
apt install ufw python virtualenv git unzip pv
(press Y and Enter to confirm)
ufw allow ssh/tcp
ufw limit ssh/tcp
ufw allow 9999/tcp
ufw logging on
ufw enable
(press Y and Enter to confirm)
fallocate -l 4G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
nano /etc/fstab
Add the following line at the end of the file (press tab to separate each word/number), then press Ctrl + X to close the editor, then Y and Enter save the file.
/swapfile none swap sw 0 0
Finally, in order to prevent brute force password hacking attacks, open the SSH configuration file to disable root login over SSH:
nano /etc/ssh/sshd_config
Locate the line that reads PermitRootLogin yes
and set it to
PermitRootLogin no
. Directly below this, add a line which reads
AllowUsers <username>
, replacing <username>
with the username
you selected above. The press Ctrl + X to close the editor, then
Y and Enter save the file.
Then reboot the server:
reboot now
PuTTY will disconnect when the server reboots.
While this setup includes basic steps to protect your server against attacks, much more can be done. In particular, authenticating with a public key instead of a username/password combination, installing fail2ban to block login brute force attacks and enabling automatic security updates is advisable. More tips are available here. However, since the masternode does not actually store the keys to any Dash, these steps are considered beyond the scope of this guide.
Send the collateral¶
A Dash address with a single unspent transaction output (UTXO) of exactly 1000 DASH is required to operate a masternode. Once it has been sent, various keys regarding the transaction must be extracted for later entry in a configuration file and registration transaction as proof to write the configuration to the blockchain so the masternode can be included in the deterministic list. A masternode can be started from a hardware wallet or the official Dash Core wallet, although a hardware wallet is highly recommended to enhance security and protect yourself against hacking. This guide will describe the steps for both hardware wallets and Dash Core.
Option 1: Sending from a hardware wallet¶
Set up your Trezor using the Trezor wallet at https://wallet.trezor.io/ and send a test transaction to verify that it is working properly. For help on this, see this guide - you may also choose to (carefully!) add a passphrase to your Trezor to further protect your collateral. Create a new account in your Trezor wallet by clicking Add account. Then click the Receive tab and send exactly 1000 DASH to the address displayed. If you are setting up multiple masternodes, send 1000 DASH to consecutive addresses within the same new account. You should see the transaction as soon as the first confirmation arrives, usually within a few minutes.
Once the transaction appears, click the QR code on the right to view the transaction on the blockchain. Keep this window open as we complete the following steps, since we will soon need to confirm that 15 confirmations exist, as shown in the following screenshot.
While we are waiting for 15 confirmations, download the latest version of the Dash Masternode Tool (DMT) from the GitHub releases page here. Unzip and run the file. The following window appears.
Click the third button from the left Check Dash Network Connection in the top left corner of the main window to verify that the connection is working. Then connect your Trezor device and click the next button Test Hardware Wallet Connection to verify the Trezor connection is working.

We will now use DMT to extract the transaction ID and legacy masternode key (necessary for successful startup during the DIP003 transition period). Carry out the following sequence of steps as shown in this screenshot:
- Click the New button.
- Ensure you are on the settings page for a Non-deterministic masternode and click Generate new to generate a legacy masternode key. Copy this key into a text editor.
- Click Alter configuration to deterministic
- Enter a name for your masternode. The host name you specified for your VPS above is a good choice.
- Enter the IP address of your masternode. This was given to you by the VPS provider when you set up the server.
- Enter the TCP port number. This should be 9999.
- Click Locate collateral to view unused collateral funding transactions available on the connected hardware wallet. The Collateral address, index and Collateral TX hash fields should be filled automatically
Leave DMT open and continue with the next step: installing Dash Core on your VPS.
Option 2: Sending from Dash Core wallet¶
Open Dash Core wallet and wait for it to synchronize with the network. It should look like this when ready:
Click Tools > Debug console to open the console. Type the following two commands into the console to generate a legacy masternode key (necessary for successful startup during the DIP003 transition period) and a new Dash address for the collateral:
masternode genkey
93PAqQsDjcVdYJHRfQPjsSt5338GCswMnUaSxoCD8J6fiLk4NHL
getnewaddress
yiFfzbwiN9oneftd7cEfr3kQLRwQ4kp7ue
Take note of the legacy masternode private key and collateral address, since we will need it later. The next step is to secure your wallet (if you have not already done so). First, encrypt the wallet by selecting Settings > Encrypt wallet. You should use a strong, new password that you have never used somewhere else. Take note of your password and store it somewhere safe or you will be permanently locked out of your wallet and lose access to your funds. Next, back up your wallet file by selecting File > Backup Wallet. Save the file to a secure location physically separate to your computer, since this will be the only way you can access our funds if anything happens to your computer. For more details on these steps, see here.
Now send exactly 1000 DASH in a single transaction to the new address you generated in the previous step. This may be sent from another wallet, or from funds already held in your current wallet. Once the transaction is complete, view the transaction in a blockchain explorer by searching for the address. You will need 15 confirmations before you can start the masternode, but you can continue with the next step at this point already: installing Dash Core on your VPS.
Install Dash Core¶
Dash Core is the software behind both the Dash Core GUI wallet and Dash masternodes. If not displaying a GUI, it runs as a daemon on your VPS (dashd), controlled by a simple command interface (dash-cli).
Open PuTTY or a console again and connect using the username and password you just created for your new, non-root user. There are two options to install Dash Core, an automated option using a script utility called dashman by Dash Core Team member moocowmoo, and a more complicated option which will allow you to understand all of the key steps involved in preparing your masternode.
Option 1: Automated installation using dashman¶
To install Dash using dashman, enter the following commands after logging in:
cd ~
git clone https://github.com/moocowmoo/dashman
~/dashman/dashman install
(press Y and Enter to confirm)
dashman will download the latest version of Dash Core for your system, as well as an initial snapshot of the blockchain to speed up the bootstrapping process. Next download and install Sentinel, which is required for masternodes at version 0.12.1 or higher:
~/dashman/dashman install sentinel
Your system is now running as a standard Dash node, and is busy completing synchronisation with the blockchain. Since dashman does not automatically restart your masternode in the event of a system error, add a check function to crontab to make sure it checks every minute to ensure your masternode is still running:
crontab -e
Choose nano as your editor and enter the following line at the end of the file, after the line for sentinel:
* * * * * pidof dashd || ~/.dashcore/dashd
Press enter to make sure there is a blank line at the end of the file, then press Ctrl + X to close the editor and Y and Enter save the file. Check the sync status and wait until all blockchain synchronisation and the 15 confirmations for the collateral transaction are complete:
~/dashman/dashman status
Continue with the next step to register your masternode.
Option 2: Manual installation¶
To manually download and install the components of your Dash masternode,
visit the GitHub releases page
and copy the link to the latest x86_64-linux-gnu
version. Go back to
your terminal window and enter the following command, pasting in the
address to the latest version of Dash Core by right clicking or pressing
Ctrl + V:
cd /tmp
wget https://github.com/dashpay/dash/releases/download/v0.13.0.0-rc10/dashcore-0.13.0.0-rc10-x86_64-linux-gnu.tar.gz
Verify the integrity of your download by running the following command
and comparing the output against the value for the file as shown in the
SHA256SUMS.asc
file:
wget https://github.com/dashpay/dash/releases/download/v0.13.0.0-rc10/SHA256SUMS.asc
sha256sum dashcore-0.13.0.0-rc10-x86_64-linux-gnu.tar.gz
cat SHA256SUMS.asc
You can also optionally verify the authenticity of your download as an
official release by Dash Core Team. All releases of Dash are signed
using GPG by UdjinM6 with the key 8359 2BD1 400D 58D9
, verifiable
here on Keybase. Import the key, download
the ASC file for the current release of Dash and verify the signature as
follows:
curl https://keybase.io/udjinm6/pgp_keys.asc | gpg --import
gpg --verify SHA256SUMS.asc
Create a working directory for Dash, extract the compressed archive and copy the necessary files to the directory:
mkdir ~/.dashcore
tar xfv dashcore-0.13.0.0-rc10-x86_64-linux-gnu.tar.gz
cp -f dashcore-0.13.0/bin/dashd ~/.dashcore/
cp -f dashcore-0.13.0/bin/dash-cli ~/.dashcore/
Create a configuration file using the following command:
nano ~/.dashcore/dash.conf
An editor window will appear. We now need to create a configuration file specifying several variables. Copy and paste the following text to get started, then replace the variables specific to your configuration as follows:
#----
rpcuser=XXXXXXXXXXXXX
rpcpassword=XXXXXXXXXXXXXXXXXXXXXXXXXXXX
rpcallowip=127.0.0.1
#----
listen=1
server=1
daemon=1
maxconnections=64
#----
masternode=1
masternodeprivkey=XXXXXXXXXXXXXXXXXXXXXXX
externalip=XXX.XXX.XXX.XXX
#----
Replace the fields marked with XXXXXXX
as follows:
rpcuser
: enter any string of numbers or letters, no special characters allowedrpcpassword
: enter any string of numbers or letters, no special characters allowedmasternodeprivkey
: this is the legacy masternode private key you generated in the previous stepexternalip
: this is the IP address of your VPS
The result should look something like this:
Press Ctrl + X to close the editor and Y and Enter save the file. You can now start running Dash on the masternode to begin synchronization with the blockchain:
~/.dashcore/dashd
You will see a message reading Dash Core server starting. We will now install Sentinel, a piece of software which operates as a watchdog to communicate to the network that your node is working properly:
cd ~/.dashcore
git clone https://github.com/dashpay/sentinel.git
cd sentinel
virtualenv venv
venv/bin/pip install -r requirements.txt
venv/bin/python bin/sentinel.py
You will see a message reading dashd not synced with network! Awaiting full sync before running Sentinel. Add dashd and sentinel to crontab to make sure it runs every minute to check on your masternode:
crontab -e
Choose nano as your editor and enter the following lines at the end of the file:
* * * * * cd ~/.dashcore/sentinel && ./venv/bin/python bin/sentinel.py 2>&1 >> sentinel-cron.log
* * * * * pidof dashd || ~/.dashcore/dashd
Press enter to make sure there is a blank line at the end of the file, then press Ctrl + X to close the editor and Y and Enter save the file. We now need to wait for 15 confirmations of the collateral transaction to complete, and wait for the blockchain to finish synchronizing on the masternode. You can use the following commands to monitor progress:
~/.dashcore/dash-cli mnsync status
When synchronisation is complete, you should see the following response:
{
"AssetID": 999,
"AssetName": "MASTERNODE_SYNC_FINISHED",
"Attempt": 0,
"IsBlockchainSynced": true,
"IsMasternodeListSynced": true,
"IsWinnersListSynced": true,
"IsSynced": true,
"IsFailed": false
}
Continue with the next step to construct the ProTx transaction required to enable your masternode.
Register your masternode¶
DIP003 introduces several changes to how a masternode is set up and operated. These are described briefly under DIP003 Masternode Changes in this documentation, or in full detail in DIP003 itself. It is highly recommended to first read at least the brief documentation before continuing in order to familiarize yourself with the new concepts in DIP003.
Option 1: Registering from a hardware wallet¶
Go back to DMT and ensure that all fields from the previous step are still filled out correctly. Click Generate new for the three private keys required for a DIP003 deterministic masternode:
- Owner private key
- Operator private key
- Voting private key
Then click Send ProRegTx and confirm the following two messages:

The BLS secret key must be entered in the dash.conf
file on the
masternode. This allows the masternode to watch the blockchain for
relevant Pro*Tx transactions, and will cause it to start serving as a
masternode when the signed ProRegTx is broadcast by the owner, as we
just did above. Edit the configuration file on your masternode as
follows:
nano ~/.dashcore/dash.conf
The editor appears with the existing masternode configuration. Add this line to the end of the file, replacing the key with your BLS secret key generated above:
masternodeblsprivkey=21e27edbabf70a677303d527d750b502628e1c51d66d3bfd2b4583f690fbd14e
Press enter to make sure there is a blank line at the end of the file, then press Ctrl + X to close the editor and Y and Enter save the file. We now need to restart the masternode for this change to take effect. Enter the following commands, waiting a few seconds in between to give Dash Core time to shut down:
~/.dashcore/dash-cli stop
~/.dashcore/dashd
At this point you can monitor your masternode using
dashman/dashman status
, by entering
~/.dashcore/dash-cli masternode status
or using the Get status
function in DMT. The final result should appear as follows:
At this point you can safely log out of your server by typing exit
.
Congratulations! Your masternode is now running.
Option 2: Registering from Dash Core wallet¶
If you used an address in Dash Core wallet for your collateral transaction, you now need to find the txid of the transaction. Click Tools > Debug console and enter the following command:
masternode outputs
This should return a string of characters similar to this:
{
"ad308ec104bdf113444be609eb3dce9474a5550424204c6538843e3ccd3d4e78" : "1",
}
The first long string is your transaction hash, while the last number is the index.
A public/private BLS key pair is required for the operator of the masternode. If you are using a hosting service, they may provide you with their public key, and you can skip this step. If you are hosting your own masternode or have agreed to provide your host with the BLS private key, generate a BLS public/private keypair as follows:
bls generate
{
"secret": "28a85abb5aa8e820f65e33974cef0ab0bf06195f61454d2feb7fa578612d2228",
"public": "144cbf4d472716b9504a54c7ca26906a3346253b787ffeb1a4999325049f5b2c51ef2e7c215d85f0a9142ec1c78db99b"
}
These keys are NOT stored by the wallet and must be kept secure,
similar to the value provided in the past by the masternode genkey
command.
The public key will be used in following steps. The private key must be
entered in the dash.conf
file on the masternode. This allows the
masternode to watch the network for relevant Pro*Tx transactions, and
will cause it to start serving as a masternode when the signed ProRegTx
is broadcast by the owner (final step below). Log in to your masternode
using ssh
or PuTTY and edit the configuration file on your
masternode as follows:
nano ~/.dashcore/dash.conf
The editor appears with the existing masternode configuration. Add this line to the end of the file, replacing the key with your BLS secret key generated above:
masternodeblsprivkey=28a85abb5aa8e820f65e33974cef0ab0bf06195f61454d2feb7fa578612d2228
Press enter to make sure there is a blank line at the end of the file, then press Ctrl + X to close the editor and Y and Enter save the file. We now need to restart the masternode for this change to take effect. Enter the following commands, waiting a few seconds in between to give Dash Core time to shut down:
~/.dashcore/dash-cli stop
~/.dashcore/dashd
We will now prepare the transaction used to register a DIP003 masternode on the network.
First, we need to get a new, unused address from the wallet to serve as the owner address. This is different to the collateral address. It must also be used as the voting address if Spork 15 is not yet active. Generate a new address as follows:
getnewaddress
yMwR1zf2Cv9gcMdHULRVbTTMGw7arvpbM5
Then either generate or choose an existing second address to receive the owner's masternode payouts:
getnewaddress
yLqyR8PHEB7Fp1ue8nSuLfuxQhrj5PSTDv
You can also optionally generate and fund a third address to pay the
transaction fee. The private key to this address must be available to
the wallet submitting the transaction to the network. We will now
prepare an unsigned ProRegTx special transaction using the protx
register_prepare
command. This command has the following syntax:
protx register_prepare collateralHash collateralIndex ipAndPort ownerKeyAddr
operatorPubKey votingKeyAddr operatorReward payoutAddress (feeSourceAddress)
Open a text editor such as notepad to prepare this command. Replace each argument to the command as follows:
collateralHash
: The txid of the 1000 Dash collateral funding transactioncollateralIndex
: The output index of the 1000 Dash funding transactionipAndPort
: Masternode IP address and port, in the formatx.x.x.x:yyyy
ownerKeyAddr
: The new Dash address generated above for the owner/voting addressoperatorPubKey
: The BLS public key generated above (or provided by your hosting service)votingKeyAddr
: The new Dash address generated above, or the address of a delegate, used for proposal votingoperatorReward
: The percentage of the block reward allocated to the operator as paymentpayoutAddress
: A new or existing Dash address to receive the owner's masternode rewardsfeeSourceAddress
: An (optional) address used to fund ProTx fee.payoutAddress
will be used if not specified.
Note that the operator is responsible for specifying their own
reward address in a separate update_service
transaction if you specify a non-zero operatorReward
. The owner of
the masternode collateral does not specify the operator's payout
address.
Example (remove line breaks if copying):
protx register_prepare
ad308ec104bdf113444be609eb3dce9474a5550424204c6538843e3ccd3d4e78
1
140.82.59.51:10004
yMwR1zf2Cv9gcMdHULRVbTTMGw7arvpbM5
144cbf4d472716b9504a54c7ca26906a3346253b787ffeb1a4999325049f5b2c51ef2e7c215d85f0a9142ec1c78db99b
yMwR1zf2Cv9gcMdHULRVbTTMGw7arvpbM5
0
yLqyR8PHEB7Fp1ue8nSuLfuxQhrj5PSTDv
Output:
{
"tx": "0300010001784e3dcd3c3e8438654c20240455a57494ce3deb09e64b4413f1bd04c18e30ad0000000000feffffff01cccfa204000000001976a9141ea44ced396667eb7d1c5b3699e04b5b3046ecfb88ac00000000d1010000000000784e3dcd3c3e8438654c20240455a57494ce3deb09e64b4413f1bd04c18e30ad0100000000000000000000000000ffff8c523b33271411c59262c9633a1bb810a7fc2b833c43cfa852ab144cbf4d472716b9504a54c7ca26906a3346253b787ffeb1a4999325049f5b2c51ef2e7c215d85f0a9142ec1c78db99b11c59262c9633a1bb810a7fc2b833c43cfa852ab00001976a91405c5fed6a3eb0b92ea5119039efae7a8dee5456488ac4e6cc5451440a6044dbd04d33a11f4cddc9021532ede3012ebbc31c0bb4ceb9c00",
"collateralAddress": "yiFfzbwiN9oneftd7cEfr3kQLRwQ4kp7ue",
"signMessage": "yLqyR8PHEB7Fp1ue8nSuLfuxQhrj5PSTDv|0|yMwR1zf2Cv9gcMdHULRVbTTMGw7arvpbM5|yMwR1zf2Cv9gcMdHULRVbTTMGw7arvpbM5|4e00de34ee03d28adb4e1fdaec966ae239c11da7e6115f566fc4b3f75c8a5503"
}
Next we will use the collateralAddress
and signMessage
fields to
sign the transaction, and the output of the tx
field to submit the
transaction.
We will now sign the content of the signMessage
field using the
private key for the collateral address as specified in
collateralAddress
. Note that no internet connection is required for
this step, meaning that the wallet can remain disconnected from the
internet in cold storage to sign the message. In this example we will
again use Dash Core, but it is equally possible to use the signing
function of a hardware wallet. The command takes the following syntax:
signmessage address message
Example:
signmessage yiFfzbwiN9oneftd7cEfr3kQLRwQ4kp7ue yLqyR8PHEB7Fp1ue8nSuLfuxQhrj5PSTDv|0|yMwR1zf2Cv9gcMdHULRVbTTMGw7arvpbM5|yMwR1zf2Cv9gcMdHULRVbTTMGw7arvpbM5|4e00de34ee03d28adb4e1fdaec966ae239c11da7e6115f566fc4b3f75c8a5503
Output:
H3ub9BATtvuV+zDGdkUQNoUGpaYFr/O1FypmrSmH5WJ0KFRi8T10FSew0EJO/+Ij+OLv4r0rt+HS9pQFsZgc2dE=
We will now submit the ProRegTx special transaction to the blockchain to register the masternode. This command must be sent from a Dash Core wallet holding a balance, since a standard transaction fee is involved. The command takes the following syntax:
protx register_submit tx sig
Where:
tx
: The serialized transaction previously returned in thetx
output field from theprotx register_prepare
commandsig
: The message signed with the collateral key from thesignmessage
command
Example:
protx register_submit 0300010001784e3dcd3c3e8438654c20240455a57494ce3deb09e64b4413f1bd04c18e30ad0000000000feffffff01cccfa204000000001976a9141ea44ced396667eb7d1c5b3699e04b5b3046ecfb88ac00000000d1010000000000784e3dcd3c3e8438654c20240455a57494ce3deb09e64b4413f1bd04c18e30ad0100000000000000000000000000ffff8c523b33271411c59262c9633a1bb810a7fc2b833c43cfa852ab144cbf4d472716b9504a54c7ca26906a3346253b787ffeb1a4999325049f5b2c51ef2e7c215d85f0a9142ec1c78db99b11c59262c9633a1bb810a7fc2b833c43cfa852ab00001976a91405c5fed6a3eb0b92ea5119039efae7a8dee5456488ac4e6cc5451440a6044dbd04d33a11f4cddc9021532ede3012ebbc31c0bb4ceb9c00 H3ub9BATtvuV+zDGdkUQNoUGpaYFr/O1FypmrSmH5WJ0KFRi8T10FSew0EJO/+Ij+OLv4r0rt+HS9pQFsZgc2dE=
Output:
b823338301e47875493c20361a23aef034578030c639480203b394669ab05e09
Your masternode is now registered and will appear on the Deterministic
Masternode List after the transaction is mined to a block. You can view
this list on the Masternodes -> DIP3 Masternodes tab of the Dash
Core wallet, or in the console using the command protx list valid
,
where the txid of the final protx register_submit
transaction
identifies your DIP003 masternode. Note again that all functions related
to DIP003 will only take effect once Spork 15 is enabled on the network.
You can view the spork status using the spork active
command.
At this point you can go back to your terminal window and monitor your
masternode using dashman/dashman status
, by entering
~/.dashcore/dash-cli masternode status
or using the Get status
function in DMT. The final result should appear as follows:
At this point you can safely log out of your server by typing exit
.
Congratulations! Your masternode is now running.
Maintenance¶
Masternodes require regular maintenance to ensure you do not drop off the payment queue. This includes promptly installing updates to Dash, as well as maintaining the security and performance of the server. In addition, masternodes should vote on proposals and perform other tasks in the interest of the network and the value of the Dash they hold.
Masternode Software Update¶
The Dash Core software requires regular updates in order to remain consistent with the current network consensus. Depending on whether you installed Dash manually or using dashman, you must follow the procedure appropriate for your masternode, as described below.
Option 1: Updating from dashman¶
To update Dash using dashman, log in to your server and enter the following commands:
~/dashman/dashman sync
~/dashman/dashman update
Check the status of your masternode:
~/dashman/dashman status
The Dash software on the masternode is now updated.
Option 2: Manual update¶
To update Dash manually, log in to your server using ssh or PuTTY. If
your crontab contains an entry to automatically restart dashd, invoke
crontab -e
and comment out the appropriate line by adding the #
character. It should look something like this:
# * * * * * pidof dashd || ~/.dashcore/dashd
Then stop Dash running:
~/.dashcore/dash-cli stop
Visit the GitHub releases page and copy the link to the latest x86_64-linux-gnu version. Go back to your terminal window and enter the following command, pasting in the address to the latest version of Dash Core by right clicking or pressing Ctrl + V:
cd /tmp
wget https://github.com/dashpay/dash/releases/download/v0.13.0.0-rc10/dashcore-0.13.0.0-rc10-x86_64-linux-gnu.tar.gz
Verify the integrity of your download by running the following command
and comparing the output against the value for the file as shown in the
SHA256SUMS.asc
file:
sha256sum dashcore-0.13.0.0-rc10-x86_64-linux-gnu.tar.gz
Extract the compressed archive and copy the new files to the directory:
tar xfv dashcore-0.13.0.0-rc10-x86_64-linux-gnu.tar.gz
cp -f dashcore-0.13.0/bin/dashd ~/.dashcore/
cp -f dashcore-0.13.0/bin/dash-cli ~/.dashcore/
Restart Dash:
~/.dashcore/dashd
You will see a message reading "Dash Core server starting". We will now update Sentinel:
cd ~/.dashcore/sentinel/
git checkout master
git pull
Finally, uncomment the line to automatically restart Dash in your
crontab by invoking crontab -e
again and deleting the #
character.
The Dash software on the masternode is now updated.
Updating Masternode Information¶
Periodically, it may be necessary to update masternode information if any information relating to the owner or operator changes. Examples may include a change in IP address, change in owner/operator payout address, or change in percentage of the reward allocated to an operator. It is also possible to revoke a masternode's registered status (in the event of a security breach, for example) to force both owner and operator to update their details.
ProUpServTx¶
A Provider Update Service Transaction (ProUpServTx) is used to update information relating to the operator. An operator can update the IP address and port fields of a masternode entry. If a non-zero operatorReward was set in the initial ProRegTx, the operator may also set the scriptOperatorPayout field in the ProUpServTx. If scriptOperatorPayout is not set and operatorReward is non-zero, the owner gets the full masternode reward. The ProUpServTx takes the following syntax:
protx update_service proTxHash ipAndPort operatorKey (operatorPayoutAddress feeSoureceAddress)
Where:
proTxHash
: The hash of the initial ProRegTxipAndPort
: IP and port in the form "ip:port"operatorKey
: The operator BLS private key associated with the registered operator public keyoperatorPayoutAddress
(optional): The address used for operator reward payments. Only allowed when the ProRegTx had a non-zerooperatorReward
value.feeSourceAddress
(optional): An address used to fund ProTx fee.operatorPayoutAddress
will be used if not specified.
Example:
protx update_service d6ec9a03e1251ac8c34178f47b6d763dc4ea6d96fd6eddb3c7aae2359e0f474a 140.82.59.51:10002 4308daa8de099d3d5f81694f6b618381e04311b9e0345b4f8b025392c33b0696 yf6Cj6VcCfDxU5yweAT3NKKvm278rVbkhu
fad61c5f21cf3c0832f782c1444d3d2e2a8dbff39c5925c38033730e64ecc598
The masternode is now removed from the PoSe-banned list, and the IP:port and operator reward addresses are updated.
ProUpRegTx¶
A Provider Update Registrar Transaction (ProUpRegTx) is used to update information relating to the owner. An owner can update the operator's BLS public key (e.g. to nominate a new operator), the voting address and their own payout address. The ProUpRegTx takes the following syntax:
protx update_registrar proTxHash operatorKeyAddr votingKeyAddr payoutAddress (feeSourceAddress)
Where:
proTxHash
: The transaction id of the initial ProRegTxoperatorKeyAddr
: An updated BLS public key, or 0 to use the last on-chain operator keyvotingKeyAddr
: An updated voting key address, or 0 to use the last on-chain operator keypayoutAddress
: An updated Dash address for owner payments, or 0 to use the last on-chain operator keyfeeSourceAddress
(optional): An address used to fund ProTx fee.PayoutAddress
will be used if not specified.
Example to update payout address:
protx update_registrar cedce432ebabc9366f5eb1e3abc219558de9fbd2530a13589b698e4bf917b8ae 0 0 yi5kVoPQQ8xaVoriytJFzpvKomAQxg6zea
ProUpRevTx¶
A Provider Update Revocation Transaction (ProUpRevTx) is used by the operator to terminate service or signal the owner that a new BLS key is required. It will immediately put the masternode in the PoSe-banned state. The owner must then issue a ProUpRegTx to set a new operator key. After the ProUpRegTx is mined to a block, the new operator must issue a ProUpServTx to update the service-related metadata and clear the PoSe- banned state (revive the masternode). The ProUpRevTx takes the following syntax:
protx revoke proTxHash operatorKey (reason feeSourceAddress)
Where:
proTxHash
: The transaction id of the initial ProRegTxoperatorKey
: The operator BLS private key associated with the registered operator public keyreason
(optional): Integer value indicating the revocation reasonfeeSourceAddress
(optional): An address used to fund ProTx fee.operatorPayoutAddress
will be used if not specified.
Example:
protx revoke 9f5ec7540baeefc4b7581d88d236792851f26b4b754684a31ee35d09bdfb7fb6 565950700d7bdc6a9dbc9963920bc756551b02de6e4711eff9ba6d4af59c0101
DashCentral voting, verification and monitoring¶
DashCentral is a community-supported website managed by community member Rango. It has become a de facto site for discussion of budget proposals and to facilitate voting from a graphical user interface, but also offers functions to monitor masternodes.
Adding your masternode to DashCentral¶
Dashcentral allows you to vote on proposals from the comfort of your browser. After completing registration, go to the masternodes page and click the Add masternode now button. Enter your collateral address on the following screen:
Click Add masternode. Your masternode has now been added to DashCentral.
Enabling voting from DashCentral¶
Click Edit under Voting privkeys to enter your masternode private key to enable voting through the DashCentral web interface. Enter a voting passphrase (not the same as your login password, but equally important to remember!) and enter the private key (the same key you used in the dash.conf file on your masternode) on the following screen:
It is important to note that the private key to start your masternode is unrelated to the private keys to the collateral address storing your 1000 DASH. These keys can be used to issue commands on behalf of the masternode, such as voting, but cannot be used to access the collateral. The keys are encrypted on your device and never stored as plain text on DashCentral servers. Once you have entered the key, click Store encrypted voting privkeys on server. You can now vote on proposals from the DashCentral web interface.
Verifying ownership¶
You can also issue a message from your address to verify ownership of your masternode to DashCentral. Click Unverified under Ownership and the following screen will appear:
Instructions on how to sign your collateral address using a software wallet appear. If you are using a hardware wallet other than Trezor, you will need to use the DMT app to sign the address. If you are using the Trezor hardware wallet, go to your Trezor wallet, copy the collateral address and click Sign & Verify. The following screen will appear, where you can enter the message provided by DashCentral and the address you wish to sign:
Click Sign, confirm on your Trezor device and enter your PIN to sign the message. A message signature will appear in the Signature box. Copy this signature and paste it into the box on DashCentral and click Verify ownership. Verification is now complete.
Installing the DashCentral monitoring script¶
DashCentral offers a service to monitor your masternode, automatically restart dashd in the event of a crash and send email in the event of an error. Go to the Account settings page and generate a new API key, adding a PIN to your account if necessary. Scroll to the following screen:
Copy the link to the current version of the dashcentral script by right- click and selecting Copy link address. Open PuTTY and connect to your masternode, then type:
wget https://www.dashcentral.org/downloads/dashcentral-updater-v6.tgz
Replace the link with the current version of dashcentral-updater as necessary. Decompress the archive using the following command:
tar xvzf dashcentral-updater-v6.tgz
View your masternode configuration details by typing:
cat .dashcore/dash.conf
Copy the values for rpcuser
and rpcpassword
. Then edit the
dashcentral configuration by typing:
nano dashcentral-updater/dashcentral.conf
Replace the values for api_key
, your masternode collateral address,
rpc_user
, rpc_password
, daemon_binary
and daemon_datadir
according to your system. A common configuration, where lwhite
is
the name of the Linux user, may look like this:
################
# dashcentral-updater configuration
################
our %settings = (
# Enter your DashCentral api key here
'api_key' => 'api_key_from_dashcentral'
);
our %masternodes = (
'masternode_collateral_address' => {
'rpc_host' => 'localhost',
'rpc_port' => 9998,
'rpc_user' => 'rpc_user_from_dash.conf',
'rpc_password' => 'rpc_password_from_dash.conf',
'daemon_autorestart' => 'enabled',
'daemon_binary' => '/home/<username>/.dashcore/dashd',
'daemon_datadir' => '/home/<username>/.dashcore'
}
);
Press Ctrl + X to exit, confirm you want save with Y and press Enter. Test your configuration by running the dashcentral script, then check the website. If it was successful, you will see that an update has been sent:
dashcentral-updater/dcupdater
Once you have verified your configuration is working, we can edit the crontab on your system to schedule the dcupdater script to run every 2 minutes. This allows the system to give you early warning in the event of a fault and will even restart the dashd daemon if it hangs or crashes. This is an effective way to make sure you do not drop off the payment queue. Type the following command:
crontab -e
Select an editor if necessary and add the following line to your crontab after the line for sentinel, replacing lwhite with your username on your system:
*/2 * * * * /home/lwhite/dashcentral-updater/dcupdater
Press Ctrl + X to exit, confirm you want save with Y and press Enter. The dcupdater script will now run every two minutes, restart dashd whenever necessary and email you in the event of an error.
Masternode monitoring tools¶
Several sites operated by community members are available to monitor key information and statistics relating to the masternode network.
Block Explorers¶
Since Dash is a public blockchain, it is possible to use block explorers to view the balances of any Dash public address, as well as examine the transactions entered in any given block. Each unique transaction is also searchable by its txid. A number of block explorers are available for the Dash network.
- CryptoID offers a Dash blockchain explorer and a function to view and map Dash masternodes.
- BitInfoCharts offers a page of price statistics and information and a blockchain explorer.
- CoinCheckup offers a range of statistics and data on most blockchains, including Dash.
- CoinPayments offers a simple Dash blockchain explorer.
- Dash.org includes two blockchain explorers at explorer.dash.org and insight.dash.org.
- Trezor operates a blockchain explorer powered by a Dash fork of insight, an advanced blockchain API tool
Dash Masternode Tool¶
https://github.com/Bertrand256/dash-masternode-tool
Written and maintained by community member Bertrand256, Dash Masternode Tool (DMT) allows you to start a masternode from all major hardware wallets such as Trezor, Ledger and KeepKey. It also supports functions to vote on proposals and withdraw masternode payments without affecting the collateral transaction.
DASH Ninja¶
DASH Ninja, operated by forum member and Dash Core developer elbereth, offers key statistics on the adoption of different versions of Dash across the masternode network. Several features to monitor governance of the Dash, the masternode payment schedule and the geographic distribution of masternodes are also available, as well as a simple blockchain explorer.
DashCentral¶
DashCentral, operated by forum member rango, offers an advanced service to monitor masternodes and vote on budget proposals through an advanced web interface. An Android app is also available.
Masternode.me¶
Masternode.me, operated by forum member and Dash Core developer moocowmoo, offers sequential reports on the price, generation rate, blockchain information and some information on masternodes.
Dash Masternode Information¶
http://178.254.23.111/~pub/Dash/Dash_Info.html
This site, operated by forum member and Dash Core developer crowning, offers a visual representation of many key statistics of the Dash masternode network, including graphs of the total masternode count over time, price information and network distribution.
Dash 0.13 Upgrade Procedure¶
Dash 0.13.0 implements DIP003, which introduces several changes to how a Dash masternode is set up and operated. A list of available documentation appears below:
- DIP003 Deterministic Masternode Lists
- DIP003 Masternode Changes
- Dash 0.13 Upgrade Procedure (you are here)
- Full masternode setup guide
- Information for users of hosted masternodes
- Information for operators of hosted masternodes
It is highly recommended to first read at least the list of changes before continuing in order to familiarize yourself with the new concepts in DIP003. This documentation describes the upgrade procedure in two steps:
- Update the masternode software
- Register the DIP003 masternode
Step 1 should be done immediately as soon as Dash 0.13.0 is released. Once miners have updated and DIP003 has activated on the network, it will become possible to complete Step 2 and register a DIP003 masternode. After enough masternodes have completed this step, Spork 15 will be enabled and all new network functions will take effect.
Masternode Software Update¶
Begin by updating the Dash software on your masternode. Depending on whether you installed Dash manually or using dashman, you must follow the procedure appropriate for your masternode, as described below.
Option 1: Updating from dashman¶
To update Dash using dashman, log in to your server and enter the following commands:
~/dashman/dashman sync
~/dashman/dashman update
Check the status of your masternode:
~/dashman/dashman status
The Dash software on the masternode is now updated. Since Dash 0.13 also
updates the protocol version, it is necessary to issue a masternode start
from Dash Core or DMT command to keep your masternode in the payment
list during the transition period. See the 0.12.3 documentation
for more details.
Option 2: Manual update¶
To update Dash manually, log in to your server using ssh or PuTTY. If
your crontab contains an entry to automatically restart dashd, invoke
crontab -e
and comment out the appropriate line by adding the #
character. It should look something like this:
# * * * * * pidof dashd || ~/.dashcore/dashd
Then stop Dash running:
~/.dashcore/dash-cli stop
Visit the GitHub releases page and copy the link to the latest x86_64-linux-gnu version. Go back to your terminal window and enter the following command, pasting in the address to the latest version of Dash Core by right clicking or pressing Ctrl + V:
cd /tmp
wget https://github.com/dashpay/dash/releases/download/v0.13.0.0-rc10/dashcore-0.13.0.0-rc10-x86_64-linux-gnu.tar.gz
Verify the integrity of your download by running the following command
and comparing the output against the value for the file as shown in the
SHA256SUMS.asc
file:
sha256sum dashcore-0.13.0.0-rc10-x86_64-linux-gnu.tar.gz
Extract the compressed archive and copy the new files to the directory:
tar xfv dashcore-0.13.0.0-rc10-x86_64-linux-gnu.tar.gz
cp -f dashcore-0.13.0/bin/dashd ~/.dashcore/
cp -f dashcore-0.13.0/bin/dash-cli ~/.dashcore/
Restart Dash:
~/.dashcore/dashd
You will see a message reading "Dash Core server starting". We will now update Sentinel:
cd ~/.dashcore/sentinel/
git checkout master
git pull
Finally, uncomment the line to automatically restart Dash in your
crontab by invoking crontab -e
again and deleting the #
character.
The Dash software on the masternode is now updated. Since Dash 0.13 also
updates the protocol version, it is necessary to issue a masternode start
from Dash Core or DMT command to keep your masternode in the payment
list during the transition period. See the 0.12.3 documentation
for more details.
Masternode Registration from DMT¶
This documentation describes the procedure to register an existing masternode for the DIP003 masternode list if the collateral is held on a hardware wallet. DIP003 must be activated and DMT 0.9.21 or higher is required. You can update DMT by downloading the version appropriate for your system from the DMT Releases page. Open DMT and ensure your existing masternode configuration appears.
Configuration¶
Click the Send ProRegTx button to get started. The Masternode migration wizard appears.
All fields are prefilled with suggested values.
- It should not be necessary to change the Collateral Tx or IP/Port fields if you are using your existing collateral and server.
- You can optionally modify the Payout address to any valid existing or new Dash address, since it is no longer mandatory to receive payouts at the collateral address.
- If your masternode is hosted by an external operator, you can specify the percentage of the reward to allocate to the operator in the Operator reward field.
- The three masternode keys (owner, operator, voting) are newly generated and do not need to be changed.
Click Next when you are ready to continue. DMT will verify the collateral is in place and prepare to create the ProRegTx special transaction to register the masternode on the blockchain. This command must be sent from a Dash Core wallet holding a balance, since a standard transaction fee is involved. You can choose to send this from the DMT developer's remote RPC node (automatic method), or use your own Dash Core wallet to submit the transaction and specify the source of transaction fees (manual method). Click Continue when you are ready.
Option 1: Automatic method¶
Note that because Trezor does not yet support Dash special transactions, it is
necessary to transmit your owner private key (NOT the collateral private
key) to the remote server to sign the registration transaction. Only use
the automatic method if you are connected to your own Dash RPC client,
or if you trust the operator of the node. You can see the name of the
node you are connected to in the lower right corner of the main DMT
window. The default nodes in DMT (named alice
, luna
and
suzy
) are maintained by the author of DMT, who has kindly offered to
cover the transaction fees for the DIP003 upgrade.
DMT will prepare a ProTx message and prompt you to confirm signing the message on your hardware wallet. The signed message will be registered on the blockchain immediately. A window appears with the final configuration information. Click Save to a file and enter a new file name. This file contains various private and public keys related to the ownership, operation and voting for the masternode, so keep it in a secure location. Continue below with the final step of entering the BLS key on the masternode.
Option 2: Manual method¶
The following window appears:
Open Dash Core and wait for the blockchain to synchronise. Complete the following steps:
- In your Dash Core wallet, select an address to use as the source for the transaction fee and paste it into Field 1.
- Open the Debug console by clicking Tools -> Debug console.
- Copy and paste the command from Field 2 of DMT into the Dash Core debug console and press Enter.
- Copy the output back and paste it into Field 3 field of the DMT Masternode migration wizard.
- Click Sign message with hardware wallet and confirm signing the message on your hardware wallet.
- Copy the command from Field 4 of DMT, paste it into the Dash Core debug console and press Enter. Dash Core will create a registration transaction on the blockchain.
- Copy and paste the transaction hash into Field 5 of the DMT Masternode migration wizard and click Continue.
A window appears with the final configuration information. Click Save to a file and enter a new file name. This file contains various private and public keys related to the ownership, operation and voting for the masternode, so keep it in a secure location.
Enter the BLS key on the masternode¶
Finally, it is necessary to enter the BLS private key generated by DMT
on the masternode itself, or send it to your hosting operator. If you
are operating the masternode yourself, log in to your masternode using
ssh
or PuTTY and edit the configuration file on your masternode as
follows:
nano ~/.dashcore/dash.conf
The editor appears with the existing masternode configuration. Add this line to the end of the file, replacing the key with your BLS secret key generated above:
masternodeblsprivkey=6708c32427c464fc360d76d36b73585b158b46a1f2e24dfce19db4f48d47270b
Press enter to make sure there is a blank line at the end of the file, then press Ctrl + X to close the editor and Y and Enter save the file. We now need to restart the masternode for this change to take effect. Enter the following commands, waiting a few seconds in between to give Dash Core time to shut down:
~/.dashcore/dash-cli stop
~/.dashcore/dashd
Your masternode is now upgraded to DIP003 and will appear on the
Deterministic Masternode List. You can view this list on the
Masternodes -> DIP3 Masternodes tab of the Dash Core wallet, or in
the console using the command protx list valid
, where the txid of
the final transaction in Step 5 identifies your DIP003 masternode. Note
again that all functions related to DIP003 will only take effect once
Spork 15 is enabled on the network. You can view the spork status using
the spork active
command.
Masternode Registration from Dash Core¶
This documentation describes the procedure to register an existing
masternode for the DIP003 masternode list if the collateral is held in
the Dash Core software full wallet. DIP003 must be activated. The
commands are shown as if they were entered in the Dash Core GUI by
opening the console from Tools > Debug console, but the same result can
be achieved on a masternode by entering the same commands and adding the
prefix ~/.dashcore/dash-cli
to each command.
Generate a BLS key pair¶
A public/private BLS key pair is required for the operator of the masternode. If you are using a hosting service, they will provide you with their public key, and you can skip this step. If you are hosting your own masternode, generate a BLS public/private keypair as follows:
bls generate
{
"secret": "565950700d7bdc6a9dbc9963920bc756551b02de6e4711eff9ba6d4af59c0101",
"public": "01d2c43f022eeceaaf09532d84350feb49d7e72c183e56737c816076d0e803d4f86036bd4151160f5732ab4a461bd127"
}
These keys are NOT stored by the wallet and must be kept secure,
similar to the value provided in the past by the masternode genkey
command.
Add the private key to your masternode configuration¶
The public key will be used in following steps. The BLS secret key must
be entered in the dash.conf
file on the masternode. This allows the
masternode to watch the blockchain for relevant Pro*Tx transactions, and
will cause it to start serving as a masternode when the signed ProRegTx
is broadcast by the owner (final step below). Log in to your masternode
using ssh
or PuTTY and edit the configuration file on your
masternode as follows:
nano ~/.dashcore/dash.conf
The editor appears with the existing masternode configuration. Add this line to the end of the file, replacing the key with your BLS secret key generated above:
masternodeblsprivkey=565950700d7bdc6a9dbc9963920bc756551b02de6e4711eff9ba6d4af59c0101
Press enter to make sure there is a blank line at the end of the file, then press Ctrl + X to close the editor and Y and Enter save the file. We now need to restart the masternode for this change to take effect. Enter the following commands, waiting a few seconds in between to give Dash Core time to shut down:
~/.dashcore/dash-cli stop
~/.dashcore/dashd
We will now prepare the transaction used to register a DIP003 masternode on the network.
Prepare a ProRegTx transaction¶
First, we need to get a new, unused address from the wallet to serve as the owner address. This is different to the collateral address. It must also be used as the voting address if Spork 15 is not yet active. Generate a new address as follows:
getnewaddress
yc98KR6YQRo1qZVBhp2ZwuiNM7hcrMfGfz
Then either generate or choose an existing second address to receive the owner's masternode payouts:
getnewaddress
ycBFJGv7V95aSs6XvMewFyp1AMngeRHBwy
You can also optionally generate and fund a third address to pay the
transaction fee. The private key to this address must be available to
the wallet submitting the transaction to the network. We will now
prepare an unsigned ProRegTx special transaction using the protx
register_prepare
command. This command has the following syntax:
protx register_prepare collateralHash collateralIndex ipAndPort ownerKeyAddr
operatorPubKey votingKeyAddr operatorReward payoutAddress (feeSourceAddress)
Open a text editor such as notepad to prepare this command. Replace each argument to the command as follows:
collateralHash
: The txid of the 1000 Dash collateral funding transactioncollateralIndex
: The output index of the 1000 Dash funding transactionipAndPort
: Masternode IP address and port, in the formatx.x.x.x:yyyy
ownerKeyAddr
: The new Dash address generated above for the owner/voting addressoperatorPubKey
: The BLS public key generated above (or provided by your hosting service)votingKeyAddr
: The new Dash address generated above, or the address of a delegate, used for proposal votingoperatorReward
: The percentage of the block reward allocated to the operator as paymentpayoutAddress
: A new or existing Dash address to receive the owner's masternode rewardsfeeSourceAddress
: An (optional) address used to fund ProTx fee.payoutAddress
will be used if not specified.
Note that the operator is responsible for specifying their own
reward address in a separate update_service
transaction if you specify a non-zero operatorReward
. The owner of
the masternode collateral does not specify the operator's payout
address.
Example (remove line breaks if copying):
protx register_prepare
2c499e3862e5aa5f220278f42f9dfac32566d50f1e70ae0585dd13290227fdc7
1
140.82.59.51:19999
yc98KR6YQRo1qZVBhp2ZwuiNM7hcrMfGfz
01d2c43f022eeceaaf09532d84350feb49d7e72c183e56737c816076d0e803d4f86036bd4151160f5732ab4a461bd127
yc98KR6YQRo1qZVBhp2ZwuiNM7hcrMfGfz
0
ycBFJGv7V95aSs6XvMewFyp1AMngeRHBwy
Output:
{
"tx": "030001000191def1f8bb265861f92e9984ac25c5142ebeda44901334e304c447dad5adf6070000000000feffffff0121dff505000000001976a9149e2deda2452b57e999685cb7dabdd6f4c3937f0788ac00000000d1010000000000c7fd27022913dd8505ae701e0fd56625c3fa9d2ff47802225faae562389e492c0100000000000000000000000000ffff8c523b334e1fad8e6259e14db7d05431ef4333d94b70df1391c601d2c43f022eeceaaf09532d84350feb49d7e72c183e56737c816076d0e803d4f86036bd4151160f5732ab4a461bd127ad8e6259e14db7d05431ef4333d94b70df1391c600001976a914adf50b01774202a184a2c7150593442b89c212e788acf8d42b331ae7a29076b464e61fdbcfc0b13f611d3d7f88bbe066e6ebabdfab7700",
"collateralAddress": "yPd75LrstM268Sr4hD7RfQe5SHtn9UMSEG",
"signMessage": "ycBFJGv7V95aSs6XvMewFyp1AMngeRHBwy|0|yc98KR6YQRo1qZVBhp2ZwuiNM7hcrMfGfz|yc98KR6YQRo1qZVBhp2ZwuiNM7hcrMfGfz|54e34b8b996839c32f91e28a9e5806ec5ba5a1dadcffe47719f5b808219acf84"
}
Next we will use the collateralAddress
and signMessage
fields to
sign the transaction, and the output of the tx
field to submit the
transaction.
Sign the ProRegTx transaction¶
Now we will sign the content of the signMessage
field using the
private key for the collateral address as specified in
collateralAddress
. Note that no internet connection is required for
this step, meaning that the wallet can remain disconnected from the
internet in cold storage to sign the message. In this example we will
again use Dash Core, but it is equally possible to use the signing
function of a hardware wallet. The command takes the following syntax:
signmessage address message
Example:
signmessage yPd75LrstM268Sr4hD7RfQe5SHtn9UMSEG ycBFJGv7V95aSs6XvMewFyp1AMngeRHBwy|0|yc98KR6YQRo1qZVBhp2ZwuiNM7hcrMfGfz|yc98KR6YQRo1qZVBhp2ZwuiNM7hcrMfGfz|54e34b8b996839c32f91e28a9e5806ec5ba5a1dadcffe47719f5b808219acf84
Output:
IMf5P6WT60E+QcA5+ixors38umHuhTxx6TNHMsf9gLTIPcpilXkm1jDglMpK+JND0W3k/Z+NzEWUxvRy71NEDns=
Submit the signed message¶
We will now create the ProRegTx special transaction to register the masternode on the blockchain. This command must be sent from a Dash Core wallet holding a balance, since a standard transaction fee is involved. The command takes the following syntax:
protx register_submit tx sig
Where:
tx
: The serialized transaction previously returned in thetx
output field fromprotx register_prepare
in Step 2sig
: The message signed with the collateral key from Step 3
Example:
protx register_submit 030001000191def1f8bb265861f92e9984ac25c5142ebeda44901334e304c447dad5adf6070000000000feffffff0121dff505000000001976a9149e2deda2452b57e999685cb7dabdd6f4c3937f0788ac00000000d1010000000000c7fd27022913dd8505ae701e0fd56625c3fa9d2ff47802225faae562389e492c0100000000000000000000000000ffff8c523b334e1fad8e6259e14db7d05431ef4333d94b70df1391c601d2c43f022eeceaaf09532d84350feb49d7e72c183e56737c816076d0e803d4f86036bd4151160f5732ab4a461bd127ad8e6259e14db7d05431ef4333d94b70df1391c600001976a914adf50b01774202a184a2c7150593442b89c212e788acf8d42b331ae7a29076b464e61fdbcfc0b13f611d3d7f88bbe066e6ebabdfab7700 IMf5P6WT60E+QcA5+ixors38umHuhTxx6TNHMsf9gLTIPcpilXkm1jDglMpK+JND0W3k/Z+NzEWUxvRy71NEDns=
Output:
9f5ec7540baeefc4b7581d88d236792851f26b4b754684a31ee35d09bdfb7fb6
Your masternode is now upgraded to DIP003 and will appear on the
Deterministic Masternode List after the transaction is mined to a block.
You can view this list on the Masternodes -> DIP3 Masternodes tab of
the Dash Core wallet, or in the console using the command protx list
valid
, where the txid of the final protx register_submit
transaction identifies your DIP003 masternode. Note again that all
functions related to DIP003 will only take effect once Spork 15 is enabled
on the network. You can view the spork status using the spork active
command.
Advanced Topics¶
Installing Dash on Fedora Linux¶
Dash developer t0dd has developed packages and written an excellent guide on installing and running Dash as a node, masternode or on testnet.
Installing Dash on Ubuntu Linux¶
Dash binaries are under development for distribution through the Ubuntu Linux Launchpad repository system. Check back here for details once a release announcement is made.
Mining¶
Mining in the context of cryptocurrency such as Dash refers to the process of searching for solutions to cryptographically difficult problems as a method of securing blocks on the blockchain. The process of mining creates new currency tokens as a reward to the miner. Mining is possible on a range of hardware. Dash implements an algorithm known as X11, which the miner must solve in order to earn rewards.
The simplest and most general hardware available for mining is the general purpose CPU present in every computer. A CPU is designed to be versatile but offers less efficiency than a GPU, which is designed to rapidly calculate millions of vectors in parallel. While specific CPU instruction enhancements related to cryptography such as AES or AVX can provide a decent boost, GPUs offer a significant performance increase due to their multiple pipelines capable of processing the predictably repetitive calculations associated with cryptocurrency mining. Finally, ASICs are relatively inflexible and can only process the specific function(s) for which they were designed, but at an even faster rate than the more general purpose GPUs and CPUs. A number of X11 ASICs are now available on the market, which have quickly made CPU and GPU mining uneconomic due to the increased difficulty of hashing arising from the rapidly increasing hash rate. The result is a currency which is more secure against brute force attacks on the Dash blockchain.
The profitability of mining is determined by the hashrate of your mining device, the current network difficulty and the costs of your hardware and electricity. The following links provide up to date information:
Masternodes vs. Mining¶
Dash, like Bitcoin and most other cryptocurrencies, is based on a decentralized ledger of all transactions, known as a blockchain. This blockchain is secured through a consensus mechanism; in the case of both Dash and Bitcoin, the consensus mechanism is Proof of Work (PoW). Miners attempt to solve difficult problems with specialized computers, and when they solve the problem, they receive the right to add a new block to the blockchain. If all the other people running the software agree that the problem was solved correctly, the block is added to the blockchain and the miner is rewarded.
Dash works a little differently from Bitcoin, however, because it has a two-tier network. The second tier is powered by masternodes (Full Nodes), which enable financial privacy (PrivateSend), instant transactions (InstantSend), and the decentralized governance and budget system. Because this second tier is so important, masternodes are also rewarded when miners discover new blocks. The breakdown is as follows: 45% of the block reward goes to the miner, 45% goes to masternodes, and 10% is reserved for the budget system (created by superblocks every month).
The masternode system is referred to as Proof of Service (PoSe), since the masternodes provide crucial services to the network. In fact, the entire network is overseen by the masternodes, which have the power to reject improperly formed blocks from miners. If a miner tried to take the entire block reward for themselves or tried to run an old version of the Dash software, the masternode network would orphan that block, and it would not be added to the blockchain.
In short, miners power the first tier, which is the basic sending and receiving of funds and prevention of doublespending. Masternodes power the second tier, which provide the added features that make Dash different from other cryptocurrencies. Masternodes do not mine, and mining computers cannot serve as masternodes. Additionally, each masternode is “secured” by 1000 DASH. Those DASH remain under the sole control of their owner at all times, and can still be freely spent. The funds are not locked in any way. However, if the funds are moved or spent, the associated masternode will go offline and stop receiving rewards.
Mining Pools¶
Mining Dash in pools is more likely to generate rewards than solo mining directly on the blockchain. Mining dash using P2Pool is strongly encouraged, since it is a good way to distribute, rather than centralize, the hashing power. The following site lists Dash P2Pool mining pools near you, simply choose a pool with favourable fees and ping time and enter your Dash payment address as username and anything as password.
If you would like to set up your own P2Pool, documentation of the process is available here and the code for p2pool-dash is available on GitHub.
Other pools are also available and may be advantageous for different reasons such as ping latency, uptime, fee, users, etc.:
- https://coinfoundry.org
- https://dash.suprnova.cc
- https://www.nicehash.com
- https://www.coinotron.com
- https://dash.miningpoolhub.com
- https://www.multipool.us
- https://dash.miningfield.com
- https://www.f2pool.com
- https://dash.miningfield.com
- https://www2.coinmine.pl/dash
- https://aikapool.com/dash
- https://www.antpool.com
- https://avalon-life.io
- https://www.genesis-mining.com
- https://pool.viabtc.com/pool/dash/state
- http://dash.cybtc.info
- http://zpool.ca
DISCLAIMER: This list is provided for informational purposes only. Services listed here have not been evaluated or endorsed by the Dash developers and no guarantees are made as to the accuracy of this information. Please exercise discretion when using third-party services. If you’d like to be added to this list please reach out to leon.white@dash.org
In addition to joining a pool, you will also need to create a Dash address to receive your payout. To do this in Dash Core wallet, see here.
Dash P2Pool Node Setup¶
This guide describes how to set up a Dash P2Pool node to manage a pool of miners. Unlike centralized mining pools, P2Pool is based on the same peer-2-peer (P2P) model as Dash, making the pool as a whole highly resistant to malicious attacks, and preserving and protecting the decentralized nature of Dash. When you launch a P2Pool node, it seeks out, connects with, and shares data with a decentralized network of other P2Pool nodes (also known as peers). P2Pool nodes share a cryptographic chain of data representing value, similar to Dash's blockchain. The P2Pool version is called the sharechain. The decentralized and fair nature of this mining model means mining with P2Pool is strongly encouraged. P2Pool for Dash uses the p2pool-dash software on GitHub, which is a fork of p2pool for Bitcoin. For more information, see here.
Because of the way P2Pool manages difficulty adjustments on the sharechain, it is important to maintain low latency between the miners and the P2Pool node to avoid miners submitting shares too late to enter the sharechain. When setting up your node, you need to consider its physical and network location relative to the miners you intend to connect to the node. If you operate a mining farm, your P2Pool node should probably be a physical machine on the same local network as your miners. If you plan to operate a public node, it may be best to set up your P2Pool node as a virtual machine in a data center with a high speed connection so geographically close miners can mine to your pool with relatively low latency.
This following section describes the steps to setup an Ubuntu Server running P2Pool for Dash. It has been tested with Ubuntu 16.04 LTS and 18.04 LTS and Dash 0.12.2.3. While a reasonable effort will be made to keep it up to date, it should be possible to modify the instructions slightly to support different versions or operating systems as necessary.
Setting up the host server¶
Download a copy of Ubuntu Server LTS from
https://www.ubuntu.com/download/server and install it on your system
according to the steps described here. If you are using a VPS such as Vultr or AWS, your provider
will most likely provide an option to install this system during
provisioning. Ensure you enable OpenSSH server during setup so you can
control your server from a remote console. Once you have access to your
server, create a new non-root user if you have not already done so using
the following command, replacing <username>
with a username of your
choice:
adduser <username>
You will be prompted for a password. Enter and confirm using a new password (different to your root password) and store it in a safe place. You will also see prompts for user information, but this can be left blank. Once the user has been created, we will add them to the sudo group so they can perform commands as root:
usermod -aG sudo <username>
Reboot your server and log in as the new user. At this point it is recommended to connect remotely using PuTTY (for Windows) or ssh (for Linux and macOS) if you have not already done so.
Setting up port forwarding¶
If you are on a private network behind a router, you will need to set up port forwarding for at least port 8999 (UDP/TCP) for access to the sharechain, as well as port 7903 (UDP/TCP) if you want your node to be accessible to the public. How this is done depends on your particular network router and is therefore beyond the scope of this documentation. An example from the popular DD-WRT open source router distribution is shown below. Guides to setting up port forwarding can be found here and here.
Take note of your IP address either from your router management interface or by visiting https://www.whatismyip.com
Option 1: Automated script setup¶
Dash community member dracocephalum has generously donated a script to automatically deploy everything required to run a p2pool-dash node under Ubuntu Server 16.04 and higher. For more details, see this forum post, or simply follow these instructions to get the script. To get fetch the script and get started, type:
sudo apt install git
git clone https://github.com/strophy/p2pool-dash-deploy
The files will be created in the p2pool-dash-deploy folder. We now need to configure a few variables specific to your system:
nano ./p2pool-dash-deploy/p2pool.deploy.sh
Scroll down to the section labeled #Variables
and enter the
following information, replacing the <xxx>
placeholders after the
=
sign. Note that it may also be necessary to update the
DASH_WALLET_URL
, DASH_WALLET_ZIP
and DASH_WALLET_LOCAL
values if they do not match the current version of Dash:
PUBLIC_IP
= your public IP address from the previous stepEMAIL
= your email addressPAYOUT_ADDRESS
= your DASH wallet address to receive feesUSER_NAME
= linux user nameRPCUSER
= enter a random alphanumeric rpc user nameRPCPASSWORD
= enter a random alphanumeric rpc password
Press Ctrl + X to close the editor and Y and Enter save the file. Then run the script:
bash ./p2pool-dash-deploy/p2pool.deploy.sh
The script will carry out all steps necessary to set up P2pool on Ubuntu Server and start dashd synchronisation. When setup is complete, you should see a message reading Installation Completed. You can now run a second script to start p2pool-dash:
bash ~/p2pool.start.sh
Your P2Pool node is now running. If you see errors similar to Error
getting work from dashd or -10 Dash Core is downloading blocks...
then you must wait until Dash finishes synchronisation. Once this is
done, you can point your miners to <ip_address>:7903
to begin
mining.

Option 2: Manual setup¶
First update your operating system as follows:
sudo apt update
sudo apt upgrade
P2Pool requires a full Dash node to be running to get block and transaction data. To download and install Dash, visit https://www.dash.org/wallets on your computer to find the link to the latest Dash Core wallet. Click Linux, then right-click on Download TGZ for Dash Core Linux 64 Bit and select Copy link address. Go back to your terminal window and enter the following command, pasting in the address to the latest version of Dash Core by right clicking or pressing Ctrl + V:
cd ~
wget https://github.com/dashpay/dash/releases/download/v0.12.2.3/dashcore-0.12.2.3-linux64.tar.gz
Verify the integrity of your download by running the following command and comparing the output against the value for the file as shown on the Dash website under Hash File:
sha256sum dashcore-0.12.2.3-linux64.tar.gz
Create a working directory for Dash, extract the compressed archive, copy the necessary files to the directory and set them as executable:
mkdir .dashcore
tar xfvz dashcore-0.12.2.3-linux64.tar.gz
cp dashcore-0.12.2/bin/dashd .dashcore/
cp dashcore-0.12.2/bin/dash-cli .dashcore/
chmod 777 .dashcore/dash*
Clean up unneeded files:
rm dashcore-0.12.2.3-linux64.tar.gz
rm -r dashcore-0.12.2/
Create a configuration file using the following command:
nano ~/.dashcore/dash.conf
An editor window will appear. We now need to create a configuration file specifying several variables. Copy and paste the following text to get started, then replace the variables specific to your configuration as follows:
#----
rpcuser=XXXXXXXXXXXXX
rpcpassword=XXXXXXXXXXXXXXXXXXXXXXXXXXXX
rpcallowip=127.0.0.1
#----
listen=1
server=1
daemon=1
maxconnections=64
#----
Replace the fields marked with XXXXXXX
as follows:
rpcuser
: enter any string of numbers or letters, no special characters allowedrpcpassword
: enter any string of numbers or letters, no special characters allowed
The result should look something like this:
Press Ctrl + X to close the editor and Y and Enter save the file. You can now start running Dash on the masternode to begin synchronization with the blockchain:
~/.dashcore/dashd
You will see a message reading Dash Core server starting. You can
continue with the following steps and check synchronization periodically
using the following command. Synchronization is complete when the number
of blocks
is equal to the current number of blocks in the Dash
blockchain, as can be seen from any synchronized Dash wallet or block
explorer:
~/.dashcore/dash-cli getblockcount
We will now set up the P2Pool software and its dependencies. Begin with the dependencies:
sudo apt install python-zope.interface python-twisted python-twisted-web python-dev
sudo apt install gcc g++ git
Create working directories and set up p2pool-dash:
mkdir git
cd git
git clone https://github.com/dashpay/p2pool-dash
cd p2pool-dash
git submodule init
git submodule update
cd dash_hash
python setup.py install --user
We will add some optional extra interfaces to the control panel:
cd ..
mv web-static web-static.old
git clone https://github.com/justino/p2pool-ui-punchy web-static
mv web-static.old web-static/legacy
cd web-static
git clone https://github.com/johndoe75/p2pool-node-status status
git clone https://github.com/hardcpp/P2PoolExtendedFrontEnd ext
You can now start p2pool and optionally specify the payout address, external IP (if necessary), fee and donation as follows:
python ~/git/p2pool-dash/run_p2pool.py --external-ip <public_ip> -f <fee> --give-author <donation> -a <payout_address>
You can then monitor your node by browsing to the following addresses,
replacing <ip_address>
with the IP address of your P2Pool node:
- Punchy interface: http://ip_address:7903/static
- Legacy interface: http://ip_address:7903/static/legacy
- Status interface: http://ip_address:7903/static/status
- Extended interface: http://ip_address:7903/static/ext

CPU Mining¶
This documentation describes how to mine Dash under the Windows operating system using just the CPU in your computer. Please note that the prevalence of GPU and ASIC miners mean that unless you have free electricity, this is highly unlikely to be profitable! Since this is the case, the software in this guide has not been updated in several years, and is intended for experimental purposes and testnet only.
This is a fairly simple procedure and examples will be given in order to achieve the fastest possible hash rate for your CPU, but remember that more optimized miners do exist, so we advise you to keep an eye out on mining sites such as these in order to keep up with the latest information and releases.
Mining software¶
The first step is to download appropriate mining software. A good basic miner for modern CPUs can be found here:
This software depends on your CPU supporting the AES-NI and AVX instruction sets. You can use CPU-Z to check if this is the case for your CPU:
If your CPU does not support AES-NI and AVX, then you can try more generalized software which does not require specific instruction sets, such as these:
Our goal here is to choose mining software that supports the maximum possible instruction sets available on your CPU, and then try to increase the hash speed. Once you have made your choice, click Releases and download and extract the zip file. The different *.exe files indicate which specific processor optimizations they support. The folder should look something like this:
Configuration¶
Begin by selecting a mining pool and generating a Dash address as described in the Mining Pools section above. Keep all your mining files in a single folder. In this example we will work from the Desktop. The node selected for this example is from the p2poolming.us list and is located in China:
http://118.184.180.43:7903/static/
Next, open Notepad and type in on one line the command we will use to start the miner, followed by pause on the second line. The general format is as follows:
<minerd> -a <algorithm> -o <url> -u <username> -p <password> -t <threads>
pause
Where:
- minerd = the executable miner daemon file you choose to use
- a = algorithm, which is X11 for Dash
- o = URL of your mining pool, including the protocol and port
- u = username, usually the Dash receiving address of your wallet or worker
- p = password, can often be set to x
- t = number of threads used
- pause = keeps the window open in the case of errors
For the CPU in the example above, the command may be:
minerd-avx-aes-sse2-sss3.exe -a X11 -o stratum+tcp://118.184.180.43:7903 -u XwZRjo1f6gmq3LCv7X1Hi5h3NkvDMHvu8G -p x -t 8
pause
Click File, then Save As. Change Save as type to All Files, then type the file name as startminer.bat and save it in the same folder as the unzipped minerd files.
Testing¶
You are now ready to start! Keep an eye on your CPU usage in Task
Manager (right click the taskbar to open this) and be careful that the
CPU temperature does not exceed your maximum rating (around 64°C). If
you have temperature or desktop stability problems, reduce t
to ~2
threads and try that first. If t
is left out, the machine will
default to the maximum number of threads. After running the miner for a
while, take a look at the hash speed and payouts in your mining pool.
You can identify your miner by the wallet address on the page.
Tips¶
Reduce the number of threads for added desktop usability and heat reduction. If the CPU temperature is too high, consider fitting a new fan and check that the heat sink thermal paste on the CPU is adequate. Tweak the processor clock speed for added performance using a motherboard controller like AI Suite for Asus motherboards. Reduction of CPU core voltage will result in lower temperature but increased instability.
Try to select a pool that is nearby to reduce network latency. If the node appears slow, switch to another location. Please distribute the hashing power globally to different pools to avoid forking.
GPU Mining¶
This guide consolidates several other guides on how to use your GPU (the processor on your graphics card) to mine Dash using the X11 algorithm on Windows. Please note that the growing market for ASIC miners means that this if probably not going to be profitable! A lot of the software and binaries described here also have not been updated for several years, so this guide should be used for experimental purposes only.
This guide will cover the process of downloading and configuring the mining software, followed by some suggestions for optimizations. This technology can change rapidly, so we advise you to keep an eye out on mining sites such as these in order to keep up with the latest information and releases.
Mining software¶
As for CPU mining, a range of mining software is available for GPU mining. Most of it based on sgminer compiled with different optimizations specific to different hardware. A good approach is to identify your graphics hardware, then choose an appropriate build of sgminer. You can use GPU-Z to identify your GPU hardware:
Next, download the mining software. Most of these are based on the original sgminer, but this is not suitable for the X11 algorithm, offers no compiled binaries and hasn't been updated in years. We will describe using pre-compiled binary software maintained by newer developers only.
AMD
NVIDIA
- https://github.com/tpruvot/ccminer/releases (focus on core application)
- https://github.com/sp-hash/ccminer/releases (sp-mod, optimized CUDA kernels for Windows)
- https://github.com/KlausT/ccminer/releases (similar to SP version, more clean)
Download your chosen release and extract the zip file to a known location. The folder should look something like this:
The sgminer file is the executable file, while the various files with .cl extensions define the various algorithms supported by sgminer. In this case, we are interested in the darkcoin.cl and darkcoin-mod.cl implementations of X11. Note that the name of the executable file may be different for miners with different optimizations, for example ccminer for NVIDIA cards.
Configuration¶
Begin by selecting a mining pool and generating a Dash address as described in the Mining Pools section above. Keep all your mining files in a single folder. In this example we will work from the Desktop. The node selected for this example is from the p2poolming.us list and is located in China:
http://118.184.180.43:7903/static/
Next, open Notepad and create the basic configuration. The general format is as follows:
{
"pools" : [
{
"url" : "stratum+tcp://pooladdress:7903",
"user" : "walletaddress",
"pass" : "x",
"algorithm":"darkcoin"
}
]
}
Where:
- pools = defines a list of pools (in this case, only one) towards which the hashing power is directed
- url = URL of your mining pool, including the protocol and port
- user = username, usually the Dash receiving address of your wallet or worker
- pass = password, can often be set to x
- algorithm = hashing algorithm to use, in this case darkcoin (for historic reasons) or darkcoin-mod
For the pool above, the configuration may be:
Click File, then Save As. Change Save as type to All Files, then type the file name as sgminer.conf and save it in the same folder as the unzipped sgminer files.
Testing¶
Double click your sgminer.exe and a Command Prompt window should appear immediately. If it disappears too quickly, check your configuration for missing commas, unclosed brackets or incorrect file name. The program will compile a special binary specific to your GPU and store it in the folder, then begin hashing.
ASIC Mining¶
ASIC stands for Application-Specific Integrated Circuit and describes a type of processor that is designed for one purpose only. ASICs are a popular choice for mining cryptocurrency because they can offer a higher efficiency than CPU or GPU miners, resulting in higher profit.
Please note that the information on this page may become obsolete very quickly due to the rapidly changing market and difficulty of mining Dash. You are responsible for carrying out your own research and any listing on this page should not be considered an endorsement of any particular product. A good place to begin your research is the mining section of the Dash Forums.
The following X11 ASIC miners are available on the market today, click the product name to visit the manufacturer's website:
Name | Hash rate | Power | Weight | Dimensions (mm) | Price |
---|---|---|---|---|---|
Bitmain Antminer D5 | 119 GH/s ±5% | 1566 W | 7.5 kg | 486 x 265 x 388 | $1,180 |
iBelink DM56G | 56 GH/s ±5% | 2100 W | 17 kg | 490 x 390 x 180 | $1,800 |
Innosilicon A5 | 32 GH/s ±8% | 750 W | 3.1 kg | 400 x 135 x 158 | $990 |
Spondoolies SPx36 | 540 GH/s ±10% | 4400 W | 19.5 kg | 640 X 525 X 185 | $10,850 |
The following ASIC miners are either no longer easily available or obsolete due to the increase in difficulty on the network.
Name | Hash rate | Power | Weight | Dimensions (mm) |
---|---|---|---|---|
Baikal BK-X | 10 GH/s ±5% | 800 W | 3.8 kg | 312 x 125 x 130 |
Baikal Mini | 150 MH/s ±10% | 40 W | .475 kg | 140 x 100 x 95 |
Baikal Giant+ A2000 | 2000 MH/s ±10% | 430 W | 3 kg | 300 x 140 x 125 |
Baikal Giant A900 | 900 MH/s ±5% | 217 W | 2.5 kg | 300 x 123 x 123 |
Baikal Quad Cube | 1200 MH/s ±10% | 300 W | 3 kg | 135 x 135 x 425 |
Bitmain Antminer D3 | 17 GH/s ±5% | 970 W | 6.5 kg | 320 x 130 x 190 |
iBelink DM384M | 384 MH/s ±10% | 715 W | 21 kg | 490 x 350 x 180 |
iBelink DM11G | 11 GH/s ±5% | 810 W | 22 kg | 490 x 350 x 180 |
iBelink DM22G | 22 GH/s ±5% | 810 W | 19 kg | 490 x 350 x 180 |
Pinidea DR-1 | 500 MH/s ±10% | 320 W | 4.5 kg | 290 x 130 x 150 |
Pinidea DR-2 | 450 MH/s ±5% | 335 W | 4.5 kg | 200 x 165 x 135 |
Pinidea DR-3 | 600 MH/s ±5% | 345 W | 4.5 kg | 200 x 165 x 135 |
Pinidea DU-1 | 9 MH/s ±5% | 7 W | 50 x 50 x 30 | |
Pinidea DRX-Kuznetsov | 900 MH/s ±5% | 650 W | 280 x 180 x 150 | |
Pinidea DRX-Varyag | 1200 MH/s ±5% | 850 W | 280 x 180 x 150 |
Developers¶
Dash Core has published an extensive Developer Guide to help new developers get started with the Dash code base, and as a reference for experienced developers. This guide can be leveraged to quickly and efficiently integrate external applications with the Dash ecosystem. Anyone can contribute to the guide by submitting an issue or pull request on GitHub. The documentation is available at: https://dash-docs.github.io/en/
The Dash Core Team also maintains the Dash Roadmap, which sets out delivery milestones for future releases of Dash and includes specific technical details describing how the development team plans to realise each challenge. The Dash Roadmap is complemented by the Dash Improvement Proposals, which contain detailed technical explanations of proposed changes to the Dash protocol itself.
The remaining sections available below describe practical steps to carry out common development tasks in Dash.
Translating Dash¶
Translations of all Dash products are managed courtesy of Transifex, which offers its own detailed documentation of all functions and features. Within Transifex, Dash maintains an organization which contains multiple projects and one team of translators assigned to all of the projects. Each project is assigned with one or more target languages for translation by the project maintainer. When a translator joins the team, they are able to choose the languages they feel able to translate. They can then work on any projects specifying this language as a target language.
In general, languages with minimal regional variation are to be
translated into the common language (rather than regional) target.
Portuguese, for example, is simply translated into the pt
target
language, rather than two separate target languages pt_BR
and
pt_PT
, for Portuguese as spoken in Brazil and Portugal,
respectively. As Dash grows, these languages may be separated out into
their regional variants by proofreaders, depending on demand. Exceptions
to this rule apply where the same spoken language is written
differently, such as zh_CN
and zh_TW
for Simplified Chinese and
Traditional Chinese.
Keeping translations consistent over time as multiple translators work on each target language is a very important part of delivering a quality user experience. For this reason, if you come across any Dash-specific terminology such as masternodes, you should use the Concordance search function to see how the term has been translated in the past. Transifex will also provide Suggestions and History if it recognizes a similar string in the database of past translations. Stay consistent with past language use, but also ensure your terminology is up to date with current use!


The following documentation describes the various projects and any special features specific to the programming language in which the product is written.
Dash Core¶
https://www.transifex.com/dash/dash/
This project contains a file named dash_en.ts
, which is an export of
all translatable user-facing content in the Dash Core Wallet. Languages with 80% or more of the translations
complete will be integrated in the next release. Note that the software
will often replace placeholders in the text with actual numbers,
addresses or usernames. If you see a placeholder in the source text, it
must also appear in the target text. If it does not, your translation
cannot be used. The Copy source string button can help you copy
everything over, so all you need to do is replace the English words
surrounding the placeholders. You can change the order of the
placeholders as necessary, according to the grammar of your target
language.
- Placeholders
Source:
E&xit
Target:
&Beenden
Note that the
&
character is placeholder used to indicate a keyboard shortcut in a program menu, and must appear next to the appropriate character in your target language with no adjacent space. Placeholders such as%1
or%s
will be replaced by the software as it is running to indicate a name or number of something relating to the message. You must insert these placeholders in the grammatically appropriate position in your target text.- Punctuation
Source:
change from %1 (%2)
Target:
Wechselgeld von %1 (%2)
Note that any brackets
()
and punctuation such as full stops.
at the end of a sentence must also exist in the target text.
Dash Docs¶
https://www.transifex.com/dash/dash-docs
This project contains all content from the Dash Documentation hosted at
https://docs.dash.org (probably the site you are reading now). Each
.html
page in the documentation appears as a file in the resources
section, named according to the navigation steps required to open the
page. The Dash Documentation is written in a documentation language
called reStructuredText
and built using the open-source Sphinx Documentation Generator. To simplify layout, most of the text has
no markup or code marks at all, but hyperlinks and certain formatting
must be reproduced in the target language as follows:
- Inline literals
Source: Type ``./dash-qt`` to run the file.
Target: Escriba ``./dash-qt`` para correr el archivo.
Note that two backticks
``
before and after a word or phrase will cause that text to appear as aninline literal
. This is commonly used to highlight code or commands to be typed by the user.- Bold and italic
Source:
To encrypt your wallet, click **Settings** > **Encrypt** wallet.
Target:
Para encriptar su billetera, haga click en **Settings** > **Encrypt** billetera.
A single
*
before and after a word or phrase will render it in an italic font, while a double**
will render it in bold.- Internal hyperlinks
Source:
See :ref:`here <sporks>` for a brief introduction to sporks.
Target:
Ver :ref:`aquí <sporks>` para una breve introducción a sporks
An internal hyperlink consists of the phrase
:ref:
, followed by a single backtick`
, followed by some text which must be translated, followed by angle brackets with the link target< >
, followed by another backtick`
. Translate the text, but do not translate the text inside the angle brackets.- External hyperlinks
Source:
The `official Dash website <https://www.dash.org>`_ also provides a list of major exchanges offering Dash.
Target:
El `sitio web oficial de Dash <https://www.dash.org>`_ también proporciona una lista de las principales Casas de cambio o Exchanges que ofrecen Dash.
An external hyperlink consists of a single backtick
`
, followed by some text which must be translated, followed by angle brackets with the link target< >
, followed by another backtick and a single or double underscore:`_
or`__
. Translate the text, but do not translate the hyperlink (unless you want to link to a version of the page in the target language).
Dash Graphics¶
https://www.transifex.com/dash/dash-graphics
Dash visual products such as infographics, flyers and conference handouts are produced using Adobe InDesign, Adobe Illustrator or Microsoft Word and are available for use in the Marketing section of the Dash Documentation. It is important to view the finished English layout during translation in order to understand the context of the text you are translating. For example, many words should be translated differently depending if they are a heading, a sentence or an item in a diagram.
Because these proprietary file formats are not easily handled by Transifex, the language content is exported to a text or Microsoft Excel file and uploaded to Transifex for processing. If you translate Dash Graphics, please send an email to leon.white@dash.org or @strophy on Discord when you are finished to request layout in the visual design.
Dash iOS 지갑¶
https://www.transifex.com/dash/dash-ios-wallet
All language content from the Dash iOS Wallet are available for translation in this project. Please have a device running the iOS wallet available during translation to understand the context of the text you are translating. Note that any placeholders in the source text segment must also appear in the target language, similar to the instructions above for Dash Core Wallet.
Dash 안드로이드 지갑¶
https://www.transifex.com/dash/dash-wallet
All language content from the Dash Android Wallet are available for translation in this project. Please have a device running the Android wallet available during translation to understand the context of the text you are translating. Note that any placeholders in the source text segment must also appear in the target language, similar to the instructions above for Dash Core Wallet.
Dash 비디오¶
https://www.transifex.com/dash/dash-videos
This section primarily contains language content from Amanda B. Johnson's popular Dash School video series. Please translate with the videos open in YouTube to properly understand the context of the source text. Once your translation is complete, please send an email to leon.white@dash.org or @strophy on Discord to request inclusion of the subtitles on YouTube.
Dash Website¶
https://www.transifex.com/dash/dash-website
The Dash website at https://www.dash.org is available for translation in Transifex. Please have the website open while you translate to correctly understand the context of the source text. Once your translation is complete, please send an email to leon.white@dash.org or @strophy on Discord to request a build of your translation onto the website.
Compiling Dash Core¶
While Dash offers stable binary builds on the website and on GitHub, and development builds using Jenkins, many users will also be interested in building Dash binaries for themselves. This process has been greatly simplified with the release of Dash Core 0.13.0, and users who do not required deterministic builds can typically follow the generic build notes available on GitHub to compile or cross-compile Dash for any platform.
The instructions to build Dash Core 0.12.3 or older are available here on a previous version of this page.
Gitian¶
Gitian is the deterministic build process that is used to build the Dash Core executables. It provides a way to be reasonably sure that the executables are really built from the source on GitHub. It also makes sure that the same, tested dependencies are used and statically built into the executable. Multiple developers build the source code by following a specific descriptor ("recipe"), cryptographically sign the result, and upload the resulting signature. These results are compared and only if they match, the build is accepted and uploaded to dash.org.
Instructions on how to build Dash Core 0.13.0 will appear here once the Docker build system for Gitian is available. Instructions to create deterministic builds of Dash Core 0.12.3 or older are available here on a previous version of this page.
Testnet and devnets¶
With the release of Dash Core 12.3, Dash added support for a great new feature — named devnets. Devnets are developer networks that combine some aspects of testnet (the global and public testing network) and some aspects of regtest (the local-only regression testing mode that provides controlled block generation). Unlike testnet, multiple independent devnets can be created and coexist without interference. For practical documentation on how to use devnets, see the developer documentation or this blog post.
Testnet is a fully functioning Dash blockchain with the one key exception that because the Dash on the network can be created freely, it has no value. This currency, known as tDASH, can be requested from a faucet to help developers test new versions of Dash, as well as test network operations using identical versions of the software before they are carried out on the mainnet. There are a few other key differences:
- Testnet operates on port 19999 (instead of 9999)
- Testnet addresses start with "y" instead of "X", ADDRESSVERSION is 140 (instead of 76)
- Testnet balances are denominated in tDASH (instead of DASH)
- Protocol message header bytes are 0xcee2caff (instead of 0xbf0c6bbd)
- Bootstrapping uses different DNS seeds: test.dnsseed.masternode.io, testnet-seed.darkcoin.qa, testnet-seed.dashpay.io
- Launching Dash Core in testnet mode shows an orange splash screen
To start Dash Core in testnet mode, find your dash.conf file and enter the following line:
testnet = 1
Tools and links¶
The links below were collected from various community sources and may not necessarily be online or functioning at any given time. Please join Dash Nation Discord or the Dash Forum if you have a question relating to a specific service.
- Test builds: https://jenkins.dash.org/blue/
- Bugtracker: https://github.com/dashpay/dash/issues/new
- Discussion and help: https://www.dash.org/forum/topic/testing.53/
- Masternode tools: https://test.dashninja.pl/masternodes.html
- Android wallet: https://www.dash.org/forum/threads/dash-wallet-for-android-v5-testnet.14775/
- Testnet for Bitcoin: https://en.bitcoin.it/wiki/Testnet
Faucets¶
- http://test.faucet.masternode.io - by coingun
- http://faucet.test.dash.crowdnode.io - ndrezza
Pools¶
- https://test.pool.dash.org [stratum+tcp://test.stratum.dash.org] - by flare
- http://test.p2pool.dash.siampm.com [stratum+tcp://test.p2pool.dash.siampm.com:17903] by thelazier
- http://p2pool.dashninja.pl:17903/static - by elbereth
- http://test.p2pool.masternode.io:18998/static - by coingun
마스터노드¶
Installing a masternode under testnet generally follows the same steps as the mainnet masternode installation guide, but with a few key differences:
- You will probably be running a development version of Dash instead of the stable release. See here for a list of builds, then choose the latest successful build and click Artifacts to view a list of binaries.
- When opening the firewall, port 19999 must be opened instead of (or in
addition to) 9999. Use this command:
ufw allow 19999/tcp
- Your desktop wallet must be running in testnet mode. Add the following
line to dash.conf:
testnet = 1
- When sending the collateral, you can get the 1000 tDASH for free from a faucet (see above)
- You cannot use dashman to install development versions of Dash. See the link to downloadable builds above.
- Your masternode configuration file must also specify testnet mode. Add
the following line when setting up dash.conf on the masternode:
testnet = 1
- As for mainnet masternodes, the RPC username and password must contain alphanumeric characters only
- When cloning sentinel, you may need to clone the development branch
using the
-b
option, for example:git clone -b core-v0.12.2.x https://github.com/dashpay/sentinel.git
- Once sentinel is installed, modify
~/.dashcore/sentinel/sentinel.conf
, comment the mainnet line and uncomment:network=testnet
- The wallet holding the masternode collateral will expect to find the
masternode.conf
file in~/.dashcore/testnet3/masternode.conf
instead of~/.dashcore/masternode.conf
.
Testnet 0.13.0¶
In November 2018, the Dash team announced the start of testing of the upcoming Dash 0.13.0 release. Extensive internal testing has already been done on the 0.13.0 code, but there are numerous bugs that can only be revealed with actual use by real people. The Dash team invites anybody who is interested to download the software and become active on testnet. This release includes:
- Automatic InstantSend for Simple Transactions
- Deterministic Masternode List
- 3 Masternode Keys: Owner, Operator and Voting
- Special Transactions
- PrivateSend Improvements
Discussion:
- Testnet announcement: https://blog.dash.org/product-brief-dash-core-release-v0-13-0-5d7fddffb7ef
- Product brief: https://blog.dash.org/product-brief-dash-core-release-v0-13-0-5d7fddffb7ef
- Testnet tools: https://docs.dash.org/en/latest/developers/testnet.html
- Issue tracking: https://github.com/dashpay/dash/issues/new
Latest test binaries:
Testnet 0.12.3¶
In June 2018, the Dash team announced the start of testing of the upcoming Dash 0.12.3 release. Extensive internal testing has already been done on the 0.12.2 code, but there are numerous bugs that can only be revealed with actual use by real people. The Dash team invites anybody who is interested to download the software and become active on testnet. This release includes:
- Named Devnets, to help developers quickly create multiple independent devnets
- New format of network message signatures
- Governance system improvements
- PrivateSend improvements
- Additional indexes cover P2PK now
- Support for pruned nodes in Lite Mode
- New Masternode Information Dialog
Discussion:
- https://www.dash.org/forum/threads/v12-3-testing.38475
- Testnet tools: https://docs.dash.org/en/latest/developers/testnet.html
- Issue tracking: https://github.com/dashpay/dash/issues/new
Latest test binaries:
Testnet 0.12.2¶
In October 2017, the Dash team announced the launch of a testnet for public testing of the upcoming 0.12.2 release of the Dash software. Extensive internal testing has already been done on the 0.12.2 code, but there are numerous bugs that can only be revealed with actual use by real people. The Dash team invites anybody who is interested to download the software and become active on testnet. This release includes:
- DIP0001 implementation https://github.com/dashpay/dips/blob/master/dip-0001.md
- 10x transaction fee reduction (including InstantSend fee)
- InstantSend vulnerability fix
- Lots of other bug fixes and performance improvements
- Experimental BIP39/BIP44 complaint HD wallet (disabled by default, should be fully functional but there is no GUI yet)
Discussion:
- Testnet 12.2 discussion: https://www.dash.org/forum/threads/v12-2-testing.17412/
- Testnet tools: https://www.dash.org/forum/threads/testnet-tools-resources.1768/
- Issue tracking: https://github.com/dashpay/dash/issues/new
Latest successfully built develop branch binaries:
Insight API Installation¶
The open-source Dash Insight REST API provides you with a convenient, powerful and simple way to read data from the Dash network and build your own services with it. Simple HTTP endpoints exist for all common operations on the Dash blockchain familiar from the Bitcore Insight API, as well as Dash-specific features such as InstantSend transactions, budget proposals, sporks and the masternode list. This documentation describes how to set up the Dash Insight API server and (optionally) the Dash Insight UI block explorer.
A standard installation of Ubuntu Linux 18.04 LTS will be used as an environment for the server. We assume you are running as a user with sudo permissions. First update all packages and install some tools and dependencies:
sudo apt update
sudo apt upgrade
sudo apt install npm build-essential libzmq3-dev
Download and extract the latest version of Dash Core:
cd ~
wget https://github.com/dashpay/dash/releases/download/v0.12.3.3/dashcore-0.12.3.3-x86_64-linux-gnu.tar.gz
tar -xvzf dashcore-0.12.3.3-x86_64-linux-gnu.tar.gz
rm dashcore-0.12.3.3-x86_64-linux-gnu.tar.gz
Install Dashcore Node and create your configuration:
sudo npm install -g @dashevo/dashcore-node
dashcore-node create mynode
Install the Insight API service and (optionally) Insight UI:
cd mynode
dashcore-node install @dashevo/insight-api
dashcore-node install @dashevo/insight-ui
Change paths in the configuration file as follows:
nano dashcore-node.json
- Change the value of
datadir
to../.dashcore
- Change the value of
exec
to../dashcore-0.12.3/bin/dashd
Run it:
dashcore-node start
Your Insight API node will start up and begin to sync. Progress will be displayed on stdout. Once sync is complete, the API endpoints listed in the documentation will be available at:
https://<ip-address>:3001/insight-api/<endpoint>/
The Insight UI block explorer will be available at:
http://<ip-address:3001/insight/
스포크¶
A multi-phased fork, colloquially known as a "spork", is a mechanism unique to Dash used to safely deploy new features to the network through network-level variables to avoid the risk of unintended network forking during upgrades. It can also be used to disable certain features if a security vulnerability is discovered - see here for a brief introduction to sporks. This documentation describes the meaning of each spork currently existing on the network, and how to check their respective statuses.
Spork functions¶
Sporks are set using integer values. Many sporks may be set to a particular epoch datetime (number of seconds that have elapsed since January 1, 1970) to specify the time at which they will active. Enabled sporks are set to 0 (seconds until activation). This function is often used to set a spork enable date so far in the future that it is effectively disabled until changed. The following sporks currently exist on the network and serve functions as described below:
- SPORK_2_INSTANTSEND_ENABLED
- Governs the ability of Dash clients to use InstandSend functionality.
- SPORK_3_INSTANTSEND_BLOCK_FILTERING
- If enabled, masternodes will reject blocks containing transactions in conflict with locked but unconfirmed InstandSend transactions.
- SPORK_5_INSTANTSEND_MAX_VALUE
- Enforces the maximum value in Dash that can be included in an InstantSend transaction.
- SPORK_6_NEW_SIGS
- Enables a new signature format for Dash-specific network messages introduced in Dash 12.3. For more information, see here and here.
- SPORK_8_MASTERNODE_PAYMENT_ENFORCEMENT
- If enabled, miners must pay 50% of the block reward to a masternode currently pending selection or the block will be considered invalid.
- SPORK_9_SUPERBLOCKS_ENABLED
- If enabled, superblocks are verified and issued to pay proposal winners.
- SPORK_10_MASTERNODE_PAY_UPDATED_NODES
- Controls whether masternodes running an older protocol version are considered eligible for payment. This can be used as an incentive to encourage masternodes to update.
- SPORK_12_RECONSIDER_BLOCKS
- Forces reindex of a specified number of blocks to recover from unintentional network forks.
- SPORK_13_OLD_SUPERBLOCK_FLAG
- Deprecated. No network function since block 614820.
- SPORK_14_REQUIRE_SENTINEL_FLAG
- Toggles whether masternodes with status are eligible for payment if status is WATCHDOG_EXPIRED, i.e. Sentinel is not running properly.
- SPORK_15_DETERMINISTIC_MNS_ENABLED
- Controls whether deterministic masternodes are required. When activated, the legacy masternode list logic will no longer run and non-updated masternodes will not be eligible for payment.
- SPORK_16_INSTANTSEND_AUTOLOCKS
- Enables automatic transaction locking for transactions with less than a specified number of inputs, and removes the legacy InstantSend fee. Allows any node to request the transaction lock, not just the sending node.
- SPORK_17_QUORUM_DKG_ENABLED
- Enables the DKG process to create LLMQ quorums. At the moment, this only activates a dummy DKG on testnet, which will later be replaced by the real DKG for mainnet and testnet. When enabled, simple PoSe scoring and banning is also active.
Viewing spork status¶
The spork show
and spork active
commands issued in the debug
window (or from dash-cli
on a masternode) allow you to interact with
sporks. You can open the debug window by selecting Tools > Debug
console.
Version History¶
Full release notes and the version history of Dash are available here:
Marketing¶
This page includes downloads of various templates and designs intended for use as office stationary and presentations. For a visual overview of existing web and sticker designs, please see the following links.
Dash uses the following color scheme to promote a consistent visual identity.
Color | RGB | CMYK | Hex | Pantone |
---|---|---|---|---|
Dash Blue | 0,141,228 | 76,38,0,0 | #008de4 | 2925c |
Deep Blue | 1,32,96 | 100,94,31,29 | #012060 | 534c |
Midnight Blue | 11,15,59 | 100,96,41,53 | #0b0f3b | 5255c |
White | 255,255,255 | 0,0,0,0 | #ffffff | - |
Grey | 120,120,120 | 54,46,45,11 | #787878 | Cool Gray 9 C |
Black | 17,25,33 | 82,71,59,75 | #111921 | Black 6 C |
Design Materials¶
Brochures¶
An attractive brochure about Dash, designed for handing out at conferences and events. Prepared by community member Essra in 2018 following proposal sponsorship for the German Dash Embassy D-A-CH.
This design can be translated into your language at Transifex here. For more information on translating Dash products on Transifex, see here. Please contact leon.white@dash.org once translation is complete to request layout of the completed translation.
Language | Download |
---|---|
English | |
French | |
German | |
Spanish | |
Thai | |
Vietnamese |
Flyers¶
An attractive flyer about Dash, designed to be folded in half and placed on flat surfaces at conferences and events. Prepared by community member Essra in 2018 following proposal sponsorship for the German Dash Embassy D-A-CH.
This design can be translated into your language at Transifex here. For more information on translating Dash products on Transifex, see here. Please contact leon.white@dash.org once translation is complete to request layout of the completed translation.
Language | Download |
---|---|
English | |
Arabic | |
Chinese (Traditional) | |
Dutch | |
French | |
German | |
Spanish | |
Thai | |
Turkish | |
Vietnamese |
Handouts¶
This handout is ideal for dual-sided printing as a handout for conferences. The current version is v3.1; previous versions are available below.
This design can be translated into your language at Transifex here. For more information on translating Dash products on Transifex, see here. Please contact leon.white@dash.org once translation is complete to request layout of the completed translation.
Language | Download |
---|---|
English | PDF DOCX |
Arabic | PDF DOCX |
Czech | PDF DOCX |
Dutch | PDF DOCX |
German | PDF DOCX |
Russian | PDF DOCX |
Slovak | PDF DOCX |
Thai | PDF DOCX |
Vietnamese | PDF DOCX |
Previous versions (English only):
Version | Download |
---|---|
2.0 | PDF DOCX |
1.0 | PDF DOCX |
Infographics¶
The Dash Difference¶
This engaging infographic details the improvements the Dash network has delivered by building on the Bitcoin code base. Based on an original design by community member J. Arroyo.
This design can be translated into your language at Transifex here. For more information on translating Dash products on Transifex, see here. Please contact leon.white@dash.org once translation is complete to request layout of the completed translation.
Language | Download |
---|---|
English | PDF PNG |
Arabic | PDF PNG |
Bulgarian | PDF PNG |
Chinese (Simplified) | PDF PNG |
Chinese (Traditional) | PDF PNG |
Czech | PDF PNG |
French | PDF PNG |
German | PDF PNG |
Greek | PDF PNG |
Italian | PDF PNG |
Polish | PDF PNG |
Russian | PDF PNG |
Slovak | PDF PNG |
Spanish | PDF PNG |
Vietnamese | PDF PNG |
Ten Misconceptions About Dash¶
This infographic refutes many common yet uninformed arguments made against Dash. Based on an original design by community member DashDude.
This design can be translated into your language at Transifex here. For more information on translating Dash products on Transifex, see here. Please contact leon.white@dash.org once translation is complete to request layout of the completed translation.
Language | Download |
---|---|
English | PDF PNG |
Arabic | PDF PNG |
Bulgarian | PDF PNG |
Chinese (Traditional) | PDF PNG |
Czech | PDF PNG |
French | PDF PNG |
German | PDF PNG |
Greek | PDF PNG |
Polish | PDF PNG |
Russian | PDF PNG |
Slovak | PDF PNG |
Spanish | PDF PNG |
Thai | PDF PNG |
Vietnamese | PDF PNG |
Presentations¶
Dash Meetup¶

An attractive presentation about Dash, designed to guide the audience through the basics of cryptocurrency and advantages of Dash. Prepared by community member Essra in 2018 following proposal sponsorship for the German Dash Embassy D-A-CH.
Language | Download |
---|---|
English | PPTX PDF |
German | PPTX PDF |
Simple presentation¶

A simple presentation about Dash, available in 5 languages, 3 aspect ratios and 2 formats. Simply click the links to download. Note that the Noto Sans UI font must be installed if using the PowerPoint files.
Language | Format | Download |
---|---|---|
English | 16:9 4:3 A4 | |
PPTX | 16:9 4:3 A4 | |
Chinese (Simplified) | 16:9 4:3 A4 | |
PPTX | 16:9 4:3 A4 | |
Portuguese | 16:9 4:3 A4 | |
PPTX | 16:9 4:3 A4 | |
Russian | 16:9 4:3 A4 | |
PPTX | 16:9 4:3 A4 | |
Spanish | 16:9 4:3 A4 | |
PPTX | 16:9 4:3 A4 |
Business Templates¶
Document templates¶
Official Dash document templates.
Name | Download |
---|---|
Word document with cover page and paragraph styles | DOCX |
Word template with blue watermark | DOTX |
Word template with grey watermark | DOTX |
Presentation templates¶
Official Dash presentation templates. We strongly recommend using predefined presentation slide layouts (check here for instructions).
Name | Download |
---|---|
PowerPoint template with simple blue and white slides | POTX |
PowerPoint template with sample layouts, styles and shapes | POTX |
Presentation icons | PPTX |
Cards¶
High resolution cards for printing. Great for use as the back of business cards, or to hand out to explain and promote Dash.
Name | Download version |
---|---|
Handout Card | English |
Arabic | |
Chinese (Simplified) | |
Czech | |
French | |
Polish | |
Portuguese | |
Russian | |
Spanish |
법률¶
대시에 법이 적용되는 방식¶
대시 DAO의 목적은 대시를 증진, 보호 및 표준화하는 것입니다. 우리의 사명을 다하기 위하여 노력하는 과정에서 우리는 대시의 일부 측면이 미국 법률 체계 하에서 어떻게 다루어지는지에 관한 질의를 받았습니다. 이 문서의 목적은 이러한 질의 중 가장 빈번한 질의에 대한 대답을 제공하고 대시에 어떻게 법률이 적용되는지에 관한 우리의 이해를 설명하기 위함입니다. 이 문서의 내용은 법적 의견으로서 효력이 없으며, 이에 의존하기보다 변호사와의 상담을 거쳐야 합니다. 그러나 한 편, 우리는 이 문서를 통하여 법에 대한 우리의 입장 및 어떻게 법을 제대로 해석할 수 있을 지에 관한 의견을 개진하고자 합니다.
우리가 가장 많이 받는 질문 중 하나는 '미국 세법 하에서 마스터노드 운영자가 어떻게 취급되는가'에 관한 것입니다.
세금 처리¶
블록 보상¶
많은 이들이 이미 주지하고 있는 바와 같이, 마스터노드 운영자들에게 주어지는 블록 보상은 마스터노드가 대시 네트워크상의 거래를 유효하게 하는 데에 대한 대가로서 주어집니다. IRS(미국 국세청)에서는 "납세자가 가상 통화를 성공적으로 '채굴'하는 경우에는 수령일 당시의 해당 가상 통화의 공정 시장 가치가 총 소득에 포함될 수 있다."고 명확하게 밝히고 있습니다. 명확하게 이야기하자면 마스터노드가 '채굴'을 하는 것은 아닙니다. 그러나 IRS는 비트코인 거래를 유효하게 하기 위해 컴퓨터 리소스를 사용하거나 공공 비트코인 거래 원장을 유지하는 것을 '채굴'로 간주하니다. 유추하건대 마스터노드 운영자는 블록 보상의 공정 시장 가치를 일반 소득과 같이 취급해야 한다는 것입니다.
대시 콜래트럴¶
A Dash user may demonstrate to the network his or her control over 1,000 DASH in order to run a masternode. These tokens never leave the user’s control. If at any point during the user’s tenure as a masternode operator, the user disposes of any or all of the 1,000 DASH, the network automatically strips the user of his or her status as a masternode. Under the US Internal Revenue Code, gain or loss is realized only on the “sale or exchange” of property. The term “sale” generally means the transfer of all right, title, and interest in the property transferred. A number of factors typically are considered to determine whether a sale has occurred, the most important being whether the benefits and burdens of ownership of the transferred property have passed from the transferor to the transferee. In Dash, the masternode operator retains control of the 1,000 DASH and simply demonstrates that control to the network. Therefore, the holding of the 1,000 DASH for purposes of qualifying as a masternode operator should not cause a taxable event to occur because the user has not transferred any of the benefits and burdens of ownership.
Capital Gains¶
Assuming that the 1,000 DASH are sold, whether that Dash is a “capital asset” will determine the tax treatment of the sale. Stocks, bonds and other investment property for example, are generally treated as capital assets. Inventory, depreciable property, and stock in trade, though, are not. Assuming the masternode operator held the 1,000 DASH either for investment purposes or for purposes of qualifying as a masternode operator, the IRS would likely treat gain or loss on the sale of those Dash tokens as capital in nature. Therefore, Dash held for a long enough period of time could be subject to the lower “long term capital gains” tax rate.
Legal Liability¶
As with cash or any other currency system, users may use Dash in connection with illegal activity. A common question we receive is whether masternode operators can also be liable for criminal activity, simply by relaying transactions related to that activity. The fundamental legal requirement of mens rea makes criminal liability unlikely for masternode operators.
Primary Liability¶
Almost all crimes require that a defendant have a defined mens rea at the time of an offense. Mens rea is a mental state like purposefulness, knowledge, recklessness or negligence. For example, to act with “purpose” is commonly understood as desiring as your “conscious object” the result of a crime. “Knowledge” is a less culpable mindset than “purpose” – acting with “knowledge” requires general awareness that your actions will bring about a particular crime. “Recklessness” requires disregard of a substantial risk. Finally, a person acts “negligently” if they should have been aware of a substantial and unjustifiable risk of a particular consequence of their actions, but were not.
Most masternodes have no awareness, while relaying Dash transactions, of the identity of the users involved, the ultimate destination of users’ funds, or any other circumstances of Dash transactions. As such, it would be difficult for a prosecutor to demonstrate that a masternode operator who facilitated an illegal transaction merely by relaying the transaction would have a culpable mens rea.
Secondary Liability¶
Even if someone is not the principal actor in the commission of a crime, that person can be secondarily liable for their involvement in it. As such, we are sometimes asked whether masternode operators, by their involvement in relaying Dash transactions, could be “aiding and abetting” or “conspiring” to commit a crime that might involve Dash. Generally speaking, aiding and abetting requires that the defendant (i) seek by his action to make the crime succeed and (ii) act with the same mens rea as required for the principal offense.
No matter the requisite mens rea of a particular principal offense committed by a Dash user, it is unlikely that a mere masternode operator, without more, could be found to have “aided and abetted." To be sure, the masternodes do provide assistance in the principal offense – in that masternode action is required to process all Dash transactions. However, the masternodes would not have the requisite mens rea to satisfy the requirements of aiding and abetting liability. Masternode operators have no readily available information about the purpose or consequences of users’ Dash transactions, or even the originating identity of the sender of funds. As such, so long as a sufficient diversity of non-criminal transactions occur on the Dash network, they would not harbor even the least culpable mens rea (i.e. negligence) with respect to a user relaying or receiving Dash in furtherance of a particular crime.
“Conspiracy” liability is even less likely. Conspiracy generally requires i) an agreement to commit a crime, ii) knowledge of the unlawful purpose of the agreement, iii) intent to further the unlawful purpose, and iv) an act in furtherance of the conspiracy. None of these requirements are met by mere masternode operators.
Exchange Liability¶
Exchanges have asked whether they can be held liable for criminal activity connected with Dash PrivateSend transactions.
The Bank Secrecy Act (BSA) is the law that primarily governs exchanges in the United States. The BSA does not contain any prohibition on supporting Dash transactions. Indeed, the BSA take a flexible, risk- based approach to regulation and contemplate that financial institutions will enter into lines of business with new risks. This risk-based approach requires, at the outset, an independent risk assessment. By and large, the risks faced by exchanges who begin to support Dash will be similar to the risks associated with other virtual currencies. One significant difference concerns PrivateSend transactions, and we focus on this difference below:
- PrivateSend transactions obfuscate the source and destination addresses of funds, thus blockchain forensic techniques like clustering analysis may be less effective. To the extent that exchanges rely on such blockchain forensics tools for their information collection, reporting and reporting obligations under the BSA, they should consider alternative means.
- PrivateSend transactions are used for legitimate purposes and are often required to achieve personal or commercial privacy for sensitive transactions. The use of PrivateSend transactions is not inherently suspicious. Combination with other factors, including those identified in the exchange’s own risk assessment, may raise PrivateSend transactions to the level of suspicious activity.
- Exchanges should consider revising their risk assessments and AML policies to account for the unique characteristics of Dash. For example, including blockchain addresses in Suspicious Activity Reports (SARs) will be less descriptive and effective for investigations based on such addresses. Exchanges might consider adding additional context and explanation in SARs.
- When conducting Enhanced Due Diligence on customers and transactions, exchanges should account for the presence of PrivateSend transactions and update their AML policies accordingly. For example, identifying counterparties to a PrivateSend transaction may be more difficult than identifying counterparties to transactions in other virtual currencies when relying on blockchain forensics.
ATM & Fiat Compliance¶
Introduction¶
An aspect that required legal research is what are the compliance requirements to facilitate Dash-fiat exchange. This can be in the form of running ATM kiosks or using other mechanisms to personally offer Dash to fiat exchange services.
For this purpose we hired Cogent Law, who have a lot of experience working in compliance for digital money services. They have put together a compliance program that will be shared with anyone launching a Dash service if they require it. This includes:
- A finCEN BSA compliant written Principal MSB/KYC AML Program designed to prevent the Principal MSB from being used to facilitate money laundering and the financing of terrorist activities
- A comprehensive risk based assessment by a third party compliance consultant expert
Our lawyer for this project is Adella Toulon-Foerster who has extensive experience in this field including:
- Banking Secrecy Act (BSA), Anti-Money Laundering (AML), and Know Your Customer (KYC) regulations
- FinCEN requirements and guidance
- Written and on-going AML compliance programs
- State-by-state money transmitter laws and licensure requirements
We now have full documentation of the program from Cogent Law, the package includes:
- BSA AML Compliance training
- KYC CDD Policy
- AML Program
- Risk Assessment
- Surveillance and Monitoring Policy
- Different Reports to file in different situations
The documents have a format as if they were created for the fictional company “Initech” and then the interested Dash entrepreneur would have to replace it with their real corporation. We believe that some counsel would still be advisable for an investor launching a service but this will help provide a solid understanding of the requirements and get them 80% of the way. This should also be highly educational and help the Dash investor be more at ease as it enlightens a typically obscure topic for most crypto enthusiasts.
This program is directed at Dash investors that are interested in running a compliant service in regulated markets. If some users prefer to run services without a compliance program or don't need one, we completely respect that too.
Dash ATM Compliance Program¶
- Please first read the Quick Guide To Operating a Virtual Currency Kiosk. This guide will guide you through the initial steps of registering as an MSB. It is crucial you start here.
- Listen to the Audio Guides on BSA AML and read the BSA AML Training Manual
- Get familiar with the documentation you will need by looking at the following templates
- Get familiar with some of the reports you may need to file as part of operations. In the Quick Guide in Step 1, we go through registration on the E - BSA filing system. This step also provides example CTR (Currency Transaction Report) and SAR (Suspicious Activity Report) report samples. Dash operators should be familiar with these as they may need to file them as part of operations. Sample reports:
- If you would now like to move forward with your project, we recommend getting in contact with Cogent Law, our recommended legal counsel. Preferential rates are available for Dash users. Please email: atoulon@cogentlaw.co
Social media¶