From b5fd47b334212b21fa551a7822e1243d50fe4995 Mon Sep 17 00:00:00 2001 From: Andrew Poelstra Date: Fri, 18 Jul 2014 12:03:38 -0700 Subject: [PATCH] Allow user to change network magic, add constant for testnet We need to add a "difficulty back to 1 after 20 minutes" difficulty rule to actually support testnet, but this is a start. --- src/network/constants.rs | 1 + src/network/listener.rs | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/network/constants.rs b/src/network/constants.rs index 081e6193..ea6e7d45 100644 --- a/src/network/constants.rs +++ b/src/network/constants.rs @@ -19,6 +19,7 @@ //! pub static MAGIC_BITCOIN: u32 = 0xD9B4BEF9; +pub static MAGIC_TESTNET: u32 = 0x0709110B; pub static PROTOCOL_VERSION: u32 = 70001; pub static SERVICES: u64 = 0; diff --git a/src/network/listener.rs b/src/network/listener.rs index 98b208b8..4f87152a 100644 --- a/src/network/listener.rs +++ b/src/network/listener.rs @@ -31,10 +31,12 @@ pub trait Listener { fn peer<'a>(&'a self) -> &'a str; /// Return the port we have connected to the peer on fn port(&self) -> u16; + /// Return the network magic + fn magic(&self) -> u32; /// Main listen loop fn start(&self) -> IoResult<(Receiver, Socket)> { // Open socket - let mut ret_sock = Socket::new(constants::MAGIC_BITCOIN); + let mut ret_sock = Socket::new(self.magic()); match ret_sock.connect(self.peer(), self.port()) { Ok(_) => {}, Err(_) => return Err(standard_error(ConnectionFailed))