Browse Source

Merge branch 'master' of github.com:Qortal/qortal

pull/77/head
CalDescent 3 years ago
parent
commit
a232395750
  1. 52
      src/main/java/org/qortal/crosschain/Bitcoin.java
  2. 6
      src/main/java/org/qortal/crosschain/Dogecoin.java
  3. 16
      src/main/java/org/qortal/crosschain/Litecoin.java
  4. 4
      src/main/java/org/qortal/repository/Bootstrap.java
  5. 121
      src/main/resources/i18n/ApiError_es.properties
  6. 64
      src/main/resources/i18n/SysTray_es.properties
  7. 290
      src/main/resources/i18n/TransactionValidity_es.properties

52
src/main/java/org/qortal/crosschain/Bitcoin.java

@ -42,30 +42,40 @@ public class Bitcoin extends Bitcoiny {
public Collection<ElectrumX.Server> getServers() { public Collection<ElectrumX.Server> getServers() {
return Arrays.asList( return Arrays.asList(
// Servers chosen on NO BASIS WHATSOEVER from various sources! // Servers chosen on NO BASIS WHATSOEVER from various sources!
new Server("hodlers.beer", Server.ConnectionType.SSL, 50002), // Status verified at https://1209k.com/bitcoin-eye/ele.php?chain=btc
new Server("btc.lastingcoin.net", Server.ConnectionType.SSL, 50002), //CLOSED new Server("bitcoin.grey.pw", Server.ConnectionType.SSL, 50002),
new Server("electrum.bitaroo.net", Server.ConnectionType.SSL, 50002), //CLOSED new Server("btc.litepay.ch", Server.ConnectionType.SSL, 50002),
new Server("bitcoin.grey.pw", Server.ConnectionType.SSL, 50002), //CLOSED new Server("electrum.pabu.io", Server.ConnectionType.SSL, 50002),
//CLOSED new Server("electrumx.hodlwallet.com", Server.ConnectionType.SSL, 50002),
//CLOSED new Server("gd42.org", Server.ConnectionType.SSL, 50002),
//CLOSED new Server("korea.electrum-server.com", Server.ConnectionType.SSL, 50002),
//CLOSED new Server("prospero.bitsrc.net", Server.ConnectionType.SSL, 50002),
//1.15.0 new Server("alviss.coinjoined.com", Server.ConnectionType.SSL, 50002),
//1.15.0 new Server("electrum.acinq.co", Server.ConnectionType.SSL, 50002),
//1.14.0 new Server("electrum.coinext.com.br", Server.ConnectionType.SSL, 50002),
new Server("104.248.139.211", Server.ConnectionType.SSL, 50002),
new Server("142.93.6.38", Server.ConnectionType.SSL, 50002),
new Server("157.245.172.236", Server.ConnectionType.SSL, 50002),
new Server("167.172.226.175", Server.ConnectionType.SSL, 50002),
new Server("167.172.42.31", Server.ConnectionType.SSL, 50002),
new Server("178.62.80.20", Server.ConnectionType.SSL, 50002),
new Server("185.64.116.15", Server.ConnectionType.SSL, 50002), new Server("185.64.116.15", Server.ConnectionType.SSL, 50002),
new Server("alviss.coinjoined.com", Server.ConnectionType.SSL, 50002), new Server("68.183.188.105", Server.ConnectionType.SSL, 50002),
new Server("btc.litepay.ch", Server.ConnectionType.SSL, 50002),
new Server("xtrum.com", Server.ConnectionType.SSL, 50002),
new Server("electrum.acinq.co", Server.ConnectionType.SSL, 50002),
new Server("caleb.vegas", Server.ConnectionType.SSL, 50002),
new Server("electrum.coinext.com.br", Server.ConnectionType.TCP, 50001),
new Server("korea.electrum-server.com", Server.ConnectionType.TCP, 50001),
new Server("eai.coincited.net", Server.ConnectionType.TCP, 50001),
new Server("electrum.coinext.com.br", Server.ConnectionType.SSL, 50002),
new Server("node1.btccuracao.com", Server.ConnectionType.SSL, 50002),
new Server("korea.electrum-server.com", Server.ConnectionType.SSL, 50002),
new Server("btce.iiiiiii.biz", Server.ConnectionType.SSL, 50002),
new Server("bitcoin.lukechilds.co", Server.ConnectionType.SSL, 50002), new Server("bitcoin.lukechilds.co", Server.ConnectionType.SSL, 50002),
new Server("guichet.centure.cc", Server.ConnectionType.SSL, 50002), new Server("blkhub.net", Server.ConnectionType.SSL, 50002),
new Server("electrumx.hodlwallet.com", Server.ConnectionType.SSL, 50002), new Server("btc.lastingcoin.net", Server.ConnectionType.SSL, 50002),
new Server("btce.iiiiiii.biz", Server.ConnectionType.SSL, 50002),
new Server("caleb.vegas", Server.ConnectionType.SSL, 50002),
new Server("eai.coincited.net", Server.ConnectionType.SSL, 50002), new Server("eai.coincited.net", Server.ConnectionType.SSL, 50002),
new Server("prospero.bitsrc.net", Server.ConnectionType.SSL, 50002), new Server("electrum.bitaroo.net", Server.ConnectionType.SSL, 50002),
new Server("gd42.org", Server.ConnectionType.SSL, 50002), new Server("electrumx.dev", Server.ConnectionType.SSL, 50002),
new Server("electrum.pabu.io", Server.ConnectionType.SSL, 50002)); new Server("elx.bitske.com", Server.ConnectionType.SSL, 50002),
new Server("fortress.qtornado.com", Server.ConnectionType.SSL, 50002),
new Server("guichet.centure.cc", Server.ConnectionType.SSL, 50002),
new Server("kareoke.qoppa.org", Server.ConnectionType.SSL, 50002),
new Server("hodlers.beer", Server.ConnectionType.SSL, 50002),
new Server("node1.btccuracao.com", Server.ConnectionType.SSL, 50002),
new Server("xtrum.com", Server.ConnectionType.SSL, 50002));
} }
@Override @Override

6
src/main/java/org/qortal/crosschain/Dogecoin.java

@ -45,9 +45,9 @@ public class Dogecoin extends Bitcoiny {
public Collection<Server> getServers() { public Collection<Server> getServers() {
return Arrays.asList( return Arrays.asList(
// Servers chosen on NO BASIS WHATSOEVER from various sources! // Servers chosen on NO BASIS WHATSOEVER from various sources!
new Server("electrum1.cipig.net", ConnectionType.TCP, 10060), new Server("electrum1.cipig.net", ConnectionType.SSL, 20060),
new Server("electrum2.cipig.net", ConnectionType.TCP, 10060), new Server("electrum2.cipig.net", ConnectionType.SSL, 20060),
new Server("electrum3.cipig.net", ConnectionType.TCP, 10060)); new Server("electrum3.cipig.net", ConnectionType.SSL, 20060));
// TODO: add more mainnet servers. It's too centralized. // TODO: add more mainnet servers. It's too centralized.
} }

16
src/main/java/org/qortal/crosschain/Litecoin.java

@ -44,23 +44,17 @@ public class Litecoin extends Bitcoiny {
public Collection<ElectrumX.Server> getServers() { public Collection<ElectrumX.Server> getServers() {
return Arrays.asList( return Arrays.asList(
// Servers chosen on NO BASIS WHATSOEVER from various sources! // Servers chosen on NO BASIS WHATSOEVER from various sources!
new Server("electrum-ltc.someguy123.net", Server.ConnectionType.SSL, 50002), // Status verified at https://1209k.com/bitcoin-eye/ele.php?chain=ltc
new Server("backup.electrum-ltc.org", Server.ConnectionType.TCP, 50001), //CLOSED new Server("electrum-ltc.petrkr.net", Server.ConnectionType.SSL, 60002),
//CLOSED new Server("electrum-ltc.someguy123.net", Server.ConnectionType.SSL, 50002),
new Server("backup.electrum-ltc.org", Server.ConnectionType.SSL, 443), new Server("backup.electrum-ltc.org", Server.ConnectionType.SSL, 443),
new Server("electrum.ltc.xurious.com", Server.ConnectionType.TCP, 50001),
new Server("electrum.ltc.xurious.com", Server.ConnectionType.SSL, 50002), new Server("electrum.ltc.xurious.com", Server.ConnectionType.SSL, 50002),
new Server("electrum-ltc.bysh.me", Server.ConnectionType.SSL, 50002), new Server("electrum-ltc.bysh.me", Server.ConnectionType.SSL, 50002),
new Server("electrum1.cipig.net", Server.ConnectionType.SSL, 20063),
new Server("electrum2.cipig.net", Server.ConnectionType.SSL, 20063), new Server("electrum2.cipig.net", Server.ConnectionType.SSL, 20063),
new Server("electrum3.cipig.net", Server.ConnectionType.SSL, 20063), new Server("electrum3.cipig.net", Server.ConnectionType.SSL, 20063),
new Server("electrum3.cipig.net", ConnectionType.TCP, 10063),
new Server("electrum2.cipig.net", Server.ConnectionType.TCP, 10063),
new Server("electrum1.cipig.net", Server.ConnectionType.SSL, 20063),
new Server("electrum1.cipig.net", Server.ConnectionType.TCP, 10063),
new Server("electrum-ltc.petrkr.net", Server.ConnectionType.SSL, 60002),
new Server("ltc.litepay.ch", Server.ConnectionType.SSL, 50022), new Server("ltc.litepay.ch", Server.ConnectionType.SSL, 50022),
new Server("electrum-ltc-bysh.me", Server.ConnectionType.TCP, 50002), new Server("ltc.rentonrisk.com", Server.ConnectionType.SSL, 50002));
new Server("electrum.jochen-hoenicke.de", Server.ConnectionType.TCP, 50005),
new Server("node.ispol.sk", Server.ConnectionType.TCP, 50004));
} }
@Override @Override

4
src/main/java/org/qortal/repository/Bootstrap.java

@ -419,8 +419,8 @@ public class Bootstrap {
downloaded += bytesRead; downloaded += bytesRead;
if (fileSize > 0) { if (fileSize > 0) {
int progress = (int)((double)downloaded / (double)fileSize * 100); double progress = (double)downloaded / (double)fileSize * 100;
SplashFrame.getInstance().updateStatus(String.format("Downloading %s bootstrap... (%d%%)", type, progress)); SplashFrame.getInstance().updateStatus(String.format("Downloading %s bootstrap... (%.1f%%)", type, progress));
} }
} }

121
src/main/resources/i18n/ApiError_es.properties

@ -0,0 +1,121 @@
# Keys are from api.ApiError enum
# "localeLang": "es",
### Common ###
JSON = no se pudo analizar el mensaje JSON
#failed to parse JSON message
INSUFFICIENT_BALANCE = saldo insuficiente
#insufficient balance
UNAUTHORIZED = Llamada API no autorizada
#API call unauthorized
REPOSITORY_ISSUE = error de repositorio
#repository error
NON_PRODUCTION = esta llamada API no está permitida para sistemas de producción
#this API call is not permitted for production systems
BLOCKCHAIN_NEEDS_SYNC = blockchain necesita sincronizarse primero
#blockchain needs to synchronize first
NO_TIME_SYNC = aún no hay sincronización de reloj
#no clock synchronization yet
### Validation ###
INVALID_SIGNATURE = firma no válida
#invalid signature
INVALID_ADDRESS = dirección no válida
#invalid address
INVALID_PUBLIC_KEY = clave pública no válida
#invalid public key
INVALID_DATA = datos no válidos
#invalid data
INVALID_NETWORK_ADDRESS = dirección de red no válida
#invalid network address
ADDRESS_UNKNOWN = dirección de cuenta desconocida
#account address unknown
INVALID_CRITERIA = criterio de búsqueda no válido
#invalid search criteria
INVALID_REFERENCE = referencia no válida
#invalid reference
TRANSFORMATION_ERROR = no se pudo transformar JSON en transacción
#could not transform JSON into transaction
INVALID_PRIVATE_KEY = clave privada no válida
#invalid private key
INVALID_HEIGHT = altura de bloque no válida
#invalid block height
CANNOT_MINT = la cuenta no puede acuñar
#account cannot mint
### Blocks ###
BLOCK_UNKNOWN = bloque desconocido
#block unknown
### Transactions ###
TRANSACTION_UNKNOWN = transacción desconocida
#transaction unknown
PUBLIC_KEY_NOT_FOUND = clave pública no encontrada
#public key not found
# this one is special in that caller expected to pass two additional strings, hence the two %s
TRANSACTION_INVALID = transacción no válida: %s (%s)
#transaction invalid: %s (%s)
### Naming ###
NAME_UNKNOWN = nombre desconocido
#name unknown
### Asset ###
INVALID_ASSET_ID = ID de recurso no válido
#invalid asset ID
INVALID_ORDER_ID = ID de pedido de activo no válido
#invalid asset order ID
ORDER_UNKNOWN = ID de pedido de activo desconocido
#unknown asset order ID
### Groups ###
GROUP_UNKNOWN = grupo desconocido
#group unknown
### Foreign Blockchain ###
FOREIGN_BLOCKCHAIN_NETWORK_ISSUE = problema de cadena de bloques extranjera o red ElectrumX
#foreign blockchain or ElectrumX network issue
FOREIGN_BLOCKCHAIN_BALANCE_ISSUE = saldo insuficiente en blockchain extranjera
#insufficient balance on foreign blockchain
FOREIGN_BLOCKCHAIN_TOO_SOON = demasiado pronto para transmitir transacciones de blockchain extranjeras (LockTime/mediana de tiempo de bloqueo)
#too soon to broadcast foreign blockchain transaction (LockTime/median block time)
### Trade Portal ###
ORDER_SIZE_TOO_SMALL = importe del pedido demasiado bajo
#order amount too low
### Data ###
FILE_NOT_FOUND = archivo no encontrado
#file not found
ORDER_SIZE_TOO_SMALL = tamaño del pedido demasiado pequeño
#order size too small
FILE_NOT_FOUND = archivo no encontrado
#file not found
NO_REPLY = el compañero no respondió dentro del tiempo permitido
#peer didn't reply within the allowed time

64
src/main/resources/i18n/SysTray_es.properties

@ -0,0 +1,64 @@
# SysTray pop-up menu
AUTO_UPDATE = Actualización automática
#Auto Update
APPLYING_UPDATE_AND_RESTARTING = Aplicando actualización automática y reiniciando...
#Applying automatic update and restarting...
BLOCK_HEIGHT = altura
#height
BUILD_VERSION = Versión de compilación
#Build version
CHECK_TIME_ACCURACY = Comprobar la precisión del tiempo
#Check time accuracy
CONNECTING = Conectando
#Connecting
CONNECTION = conexión
#connection
CONNECTIONS = conexiones
#connections
CREATING_BACKUP_OF_DB_FILES = Creando una copia de seguridad de los archivos de la base de datos...
#Creating backup of database files...
DB_BACKUP = Copia de seguridad de la base de datos
#Database Backup
DB_MAINTENANCE = Mantenimiento de la base de datos
#Database Maintenance
DB_CHECKPOINT = Punto de control de la base de datos
#Database Checkpoint
EXIT = Salir
#Exit
MINTING_DISABLED = NO acuñar
#NOT minting
MINTING_ENABLED = \u2714 Acuñación
#\u2714 Minting
OPEN_UI = IU abierta
#Open UI
PERFORMING_DB_CHECKPOINT = Guardando cambios de base de datos no confirmados...
#Saving uncommitted database changes...
PERFORMING_DB_MAINTENANCE = Realizando mantenimiento programado...
#Performing scheduled maintenance...
SYNCHRONIZE_CLOCK = Sincronizar reloj
#Synchronize clock
SYNCHRONIZING_BLOCKCHAIN = Sincronizando
#Synchronizing
SYNCHRONIZING_CLOCK = Sincronizando reloj
#Synchronizing clock

290
src/main/resources/i18n/TransactionValidity_es.properties

@ -0,0 +1,290 @@
OK = Aceptar
#OK
INVALID_ADDRESS = dirección no válida
#invalid address
NEGATIVE_AMOUNT = importe no válido/negativo
#invalid/negative amount
NEGATIVE_FEE = tarifa no válida/negativa
#invalid/negative fee
NO_BALANCE = saldo insuficiente
#insufficient balance
INVALID_REFERENCE = referencia no válida
#invalid reference
INVALID_NAME_LENGTH = longitud de nombre no válida
#invalid name length
INVALID_VALUE_LENGTH = longitud de 'valor' no válida
#invalid 'value' length
NAME_ALREADY_REGISTERED = nombre ya registrado
#name already registered
NAME_DOES_NOT_EXIST = el nombre no existe
#name does not exist
INVALID_NAME_OWNER = propietario de nombre no válido
#invalid name owner
NAME_ALREADY_FOR_SALE = nombre ya a la venta
#name already for sale
NAME_NOT_FOR_SALE = el nombre no está a la venta
#name is not for sale
BUYER_ALREADY_OWNER = el comprador ya es propietario
#buyer is already owner
INVALID_AMOUNT = monto no válido
#invalid amount
INVALID_SELLER = vendedor no válido
#invalid seller
NAME_NOT_NORMALIZED = nombre no en formato Unicode 'normalizado'
#name not in Unicode 'normalized' form
INVALID_DESCRIPTION_LENGTH = longitud de descripción no válida
#invalid description length
INVALID_OPTIONS_COUNT = recuento de opciones no válidas
#invalid options count
INVALID_OPTION_LENGTH = longitud de opciones no válida
#invalid options length
DUPLICATE_OPTION = opción duplicada
#duplicate option
POLL_ALREADY_EXISTS = la encuesta ya existe
#poll already exists
POLL_DOES_NOT_EXIST = la encuesta no existe
#poll does not exist
POLL_OPTION_DOES_NOT_EXIST = la opción de encuesta no existe
#poll option does not exist
ALREADY_VOTED_FOR_THAT_OPTION = ya voté por esa opción
#already voted for that option
INVALID_DATA_LENGTH = longitud de datos no válida
#invalid data length
INVALID_QUANTITY = cantidad no válida
#invalid quantity
ASSET_DOES_NOT_EXIST = el activo no existe
#asset does not exist
INVALID_RETURN = devolución no válida
#invalid return
HAVE_EQUALS_WANT = tener-activo es lo mismo que querer-activo
#have-asset is the same as want-asset
ORDER_DOES_NOT_EXIST = la orden comercial de activos no existe
#asset trade order does not exist
INVALID_ORDER_CREATOR = creador de pedido no válido
#invalid order creator
INVALID_PAYMENTS_COUNT = recuento de pagos no válidos
#invalid payments count
NEGATIVE_PRICE = precio no válido/negativo
#invalid/negative price
INVALID_CREATION_BYTES = bytes de creación no válidos
#invalid creation bytes
INVALID_TAGS_LENGTH = longitud de 'etiquetas' no válida
#invalid 'tags' length
INVALID_AT_TYPE_LENGTH = longitud de 'tipo' de AT no válida
#invalid AT 'type' length
INVALID_AT_TRANSACTION = transacción AT no válida
#invalid AT transaction
INSUFFICIENT_FEE = tarifa insuficiente
#insufficient fee
ASSET_DOES_NOT_MATCH_AT = el activo no coincide con el activo de AT
#asset does not match AT's asset
ASSET_ALREADY_EXISTS = el activo ya existe
#asset already exists
MISSING_CREATOR = creador faltante
#missing creator
TIMESTAMP_TOO_OLD = marca de tiempo demasiado antigua
#timestamp too old
TIMESTAMP_TOO_NEW = marca de tiempo demasiado nueva
#timestamp too new
TOO_MANY_UNCONFIRMED = la cuenta tiene demasiadas transacciones pendientes sin confirmar
#account has too many unconfirmed transactions pending
GROUP_ALREADY_EXISTS = el grupo ya existe
#group already exists
GROUP_DOES_NOT_EXIST = el grupo no existe
#group does not exist
INVALID_GROUP_OWNER = propietario del grupo no válido
#invalid group owner
ALREADY_GROUP_MEMBER = ya es miembro del grupo
#already group member
GROUP_OWNER_CANNOT_LEAVE = el propietario del grupo no puede abandonar el grupo
#group owner cannot leave group
NOT_GROUP_MEMBER = la cuenta no es miembro del grupo
#account is not a group member
ALREADY_GROUP_ADMIN = ya es administrador del grupo
#already group admin
NOT_GROUP_ADMIN = la cuenta no es un administrador de grupo
#account is not a group admin
INVALID_LIFETIME = tiempo de vida no válido
#invalid lifetime
INVITE_UNKNOWN = invitación de grupo desconocida
#group invite unknown
BAN_EXISTS = la prohibición ya existe
#ban already exists
BAN_UNKNOWN = bloqueo desconocido
#ban unknown
BANNED_FROM_GROUP = prohibido del grupo
#banned from group
JOIN_REQUEST_EXISTS = la solicitud para unirse al grupo ya existe
#group join request already exists
INVALID_GROUP_APPROVAL_THRESHOLD = umbral de aprobación de grupo no válido
#invalid group-approval threshold
GROUP_ID_MISMATCH = discrepancia de ID de grupo
#group ID mismatch
INVALID_GROUP_ID = ID de grupo no válido
#invalid group ID
TRANSACTION_UNKNOWN = transacción desconocida
#transaction unknown
TRANSACTION_ALREADY_CONFIRMED = la transacción ya ha sido confirmada
#transaction has already confirmed
INVALID_TX_GROUP_ID = ID de grupo de transacciones no válido
#invalid transaction group ID
TX_GROUP_ID_MISMATCH = el ID de grupo de la transacción no coincide
#transaction's group ID does not match
MULTIPLE_NAMES_FORBIDDEN = múltiples nombres registrados por cuenta están prohibidos
#multiple registered names per account is forbidden
INVALID_ASSET_OWNER = propietario de activo no válido
#invalid asset owner
AT_IS_FINISHED = AT ha terminado
#AT has finished
NO_FLAG_PERMISSION = la cuenta no tiene ese permiso
#account does not have that permission
NOT_MINTING_ACCOUNT = la cuenta no puede acuñar
#account cannot mint
REWARD_SHARE_UNKNOWN = Recompensa compartida desconocida
#reward-share unknown
INVALID_REWARD_SHARE_PERCENT = porcentaje de recompensa compartida no válido
#invalid reward-share percent
PUBLIC_KEY_UNKNOWN = clave pública desconocida
#public key unknown
INVALID_PUBLIC_KEY = clave pública no válida
#invalid public key
AT_UNKNOWN = AT desconocido
#AT unknown
AT_ALREADY_EXISTS = AT ya existe
#AT already exists
GROUP_APPROVAL_NOT_REQUIRED = no se requiere aprobación de grupo
#group-approval not required
GROUP_APPROVAL_DECIDED = aprobación del grupo ya decidida
#group-approval already decided
MAXIMUM_REWARD_SHARES = ya en el número máximo de acciones de recompensa para esta cuenta
#already at maximum number of reward-shares for this account
TRANSACTION_ALREADY_EXISTS = la transacción ya existe
#transaction already exists
NO_BLOCKCHAIN_LOCK = la cadena de bloques del nodo está actualmente ocupada
#node's blockchain currently busy
ORDER_ALREADY_CLOSED = la orden comercial de activos ya está cerrada
#asset trade order is already closed
CLOCK_NOT_SYNCED = reloj no sincronizado
#clock not synchronized
ASSET_NOT_SPENDABLE = el activo no se puede gastar
#asset is not spendable
ACCOUNT_CANNOT_REWARD_SHARE = la cuenta no puede compartir recompensas
#account cannot reward-share
SELF_SHARE_EXISTS = autocompartir (recompensa compartida) ya existe
#self-share (reward-share) already exists
ACCOUNT_ALREADY_EXISTS = la cuenta ya existe
#account already exists
INVALID_GROUP_BLOCK_DELAY = retraso de bloqueo de aprobación de grupo no válido
#invalid group-approval block delay
INCORRECT_NONCE = PoW nonce incorrecto
#incorrect PoW nonce
INVALID_TIMESTAMP_SIGNATURE = firma de marca de tiempo no válida
#invalid timestamp signature
ADDRESS_BLOCKED = esta dirección está bloqueada
#this address is blocked
NAME_BLOCKED = este nombre está bloqueado
#this name is blocked
ADDRESS_ABOVE_RATE_LIMIT = la dirección alcanzó el límite de velocidad especificado
#address reached specified rate limit
DUPLICATE_MESSAGE = dirección enviada mensaje duplicado
#address sent duplicate message
INVALID_BUT_OK = inválido pero correcto
#invalid but OK
NOT_YET_RELEASED = función aún no lanzada
#feature not yet released
Loading…
Cancel
Save