Updated on 2026-08-14

This commit is contained in:
Tangem 2018-07-12 19:48:16 +03:00
commit b690338759
14 changed files with 121 additions and 57 deletions

View file

@ -0,0 +1,16 @@
package com.tangem.domain
enum class BitcoinNode(val host: String, val port: Int) {
n1("174.138.11.174", 50001),
n2("btc.cihar.com", 50001),
n3("electrum.leblancnet.us", 50001),
n4("electrum.qtornado.com", 50001),
n5("electrum.vom-stausee.de", 50001),
n6("helicarrier.bauerj.eu", 50001),
n7("kirsche.emzy.de", 50001),
n8("ndnd.selfhost.eu", 50001),
n9("spv.48.org", 50003),
n10("such.ninja", 50001),
n11("tardis.bauerj.eu", 50001),
n12("vps.hsmiths.com", 50001)
}

View file

@ -1,9 +1,9 @@
package com.tangem.domain
enum class BitcoinNodeTestNet(val host: String, val port: Int) {
arihanc_com("testnetnode.arihanc.com", 51001),
hsmiths_com("testnet.hsmiths.com", 53011),
qtornado_com("testnet.qtornado.com", 51001),
bauerj_eu("testnet1.bauerj.eu", 50001),
n1("testnetnode.arihanc.com", 51001),
n2("testnet.hsmiths.com", 53011),
n3("testnet.qtornado.com", 51001),
n4("testnet1.bauerj.eu", 50001),
}

View file

@ -408,6 +408,9 @@ public class CardProtocol {
}
public void run_Read() throws Exception {
run_Read(true);
}
public void run_Read(boolean parseResult) throws Exception {
CommandApdu rqApdu = StartPrepareCommand(INS.Read);
Log.i(logTag, String.format("[%s]\n%s", rqApdu.getCommandName(), rqApdu.getTLVs().getParsedTLVs(" ")));
@ -421,9 +424,12 @@ public class CardProtocol {
readResult = rspApdu.getTLVs();
parseReadResult();
run_ReadWriteIssuerData();
if( parseResult ){
parseReadResult();
run_ReadWriteIssuerData();
}else{
//TODO: проверить что карта та же
}
} else if (rspApdu.isStatus(SW_PIN_ERROR)) {
throw new TangemException_InvalidPIN(String.format("FAILED: [%04X] - Possible PIN is invalid!\n", rspApdu.getSW1SW2()));

View file

@ -2,6 +2,7 @@ package com.tangem.domain.wallet;
import android.net.Uri;
import com.tangem.domain.BitcoinNode;
import com.tangem.domain.BitcoinNodeTestNet;
import com.tangem.domain.cardReader.CardProtocol;
import com.tangem.domain.cardReader.TLV;
@ -55,20 +56,22 @@ public class BtcEngine extends CoinEngine {
}
public static String[] GetBitcoinServiceHosts() {
return new String[]{"vps.hsmiths.com", "tardis.bauerj.eu" /*"arihancckjge66iv.onion"*/, "electrumx.bot.nu", "electrumx.hopto.org"/* "btc.asis.io"*/, "e-x.not.fyi", "electrum.backplanedns.org", "helicarrier.bauerj.eu", "electrum.vom-stausee.de", "electrum0.snel.it", "kirsche.emzy.de"};
// return new String[]{"vps.hsmiths.com", "tardis.bauerj.eu" /*"arihancckjge66iv.onion"*/, "electrumx.bot.nu", "electrumx.hopto.org"/* "btc.asis.io"*/, "e-x.not.fyi", "electrum.backplanedns.org", "helicarrier.bauerj.eu", "electrum.vom-stausee.de", "electrum0.snel.it", "kirsche.emzy.de"};
return new String[]{BitcoinNode.n1.getHost(), BitcoinNode.n2.getHost(),BitcoinNode.n3.getHost(),BitcoinNode.n4.getHost(),BitcoinNode.n5.getHost(),BitcoinNode.n6.getHost(),BitcoinNode.n7.getHost(),BitcoinNode.n8.getHost(),BitcoinNode.n9.getHost(),BitcoinNode.n10.getHost(),BitcoinNode.n11.getHost(),BitcoinNode.n12.getHost(),};
}
public static Integer[] GetBitcoinServicePorts() {
return new Integer[]{8080, 50001/* 8080*/, 50001, 50001, 50001, 50001, 50001, 50001, 50001, 50001};
// return new Integer[]{8080, 50001/* 8080*/, 50001, 50001, 50001, 50001, 50001, 50001, 50001, 50001};
return new Integer[]{BitcoinNode.n1.getPort(), BitcoinNode.n2.getPort(),BitcoinNode.n3.getPort(),BitcoinNode.n4.getPort(),BitcoinNode.n5.getPort(),BitcoinNode.n6.getPort(),BitcoinNode.n7.getPort(),BitcoinNode.n8.getPort(),BitcoinNode.n9.getPort(),BitcoinNode.n10.getPort(),BitcoinNode.n11.getPort(),BitcoinNode.n12.getPort(),};
}
public static String[] GetBitcoinTestNetServiceHosts() {
return new String[]{/*"testnetnode.arihanc.com"*/BitcoinNodeTestNet.hsmiths_com.getHost(), BitcoinNodeTestNet.qtornado_com.getHost(), BitcoinNodeTestNet.bauerj_eu.getHost()};
return new String[]{BitcoinNodeTestNet.n1.getHost(), BitcoinNodeTestNet.n2.getHost(), BitcoinNodeTestNet.n3.getHost(), BitcoinNodeTestNet.n4.getHost()};
}
public static Integer[] GetBitcoinTestNetServicePorts() {
return new Integer[]{/*51001*/BitcoinNodeTestNet.hsmiths_com.getPort(), BitcoinNodeTestNet.qtornado_com.getPort(), BitcoinNodeTestNet.bauerj_eu.getPort()};
return new Integer[]{BitcoinNodeTestNet.n1.getPort(), BitcoinNodeTestNet.n2.getPort(), BitcoinNodeTestNet.n3.getPort(), BitcoinNodeTestNet.n4.getPort()};
}