SHA256
16 12 25
Промежуточная версия и ТУДУ на чём остановился
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
package utils.blockchain;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonCreator;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import java.util.Base64;
|
||||
|
||||
/**
|
||||
* BchInfoEntry — данные об одной цепочке блокчейна.
|
||||
* Используется менеджером BchInfoManager.
|
||||
*/
|
||||
public final class BchInfoEntry {
|
||||
|
||||
@JsonProperty("blockchainId")
|
||||
public final long blockchainId;
|
||||
|
||||
@JsonProperty("userLogin")
|
||||
public final String userLogin;
|
||||
|
||||
@JsonProperty("publicKeyBase64")
|
||||
public final String publicKeyBase64;
|
||||
|
||||
@JsonProperty("blockchainSizeLimit")
|
||||
public final int blockchainSizeLimit;
|
||||
|
||||
@JsonProperty("blockchainSize")
|
||||
public final int blockchainSize;
|
||||
|
||||
@JsonProperty("lastBlockNumber")
|
||||
public final int lastBlockNumber;
|
||||
|
||||
@JsonProperty("lastBlockHash")
|
||||
public final String lastBlockHash;
|
||||
|
||||
@JsonCreator
|
||||
public BchInfoEntry(
|
||||
@JsonProperty("blockchainId") long blockchainId,
|
||||
@JsonProperty("userLogin") String userLogin,
|
||||
@JsonProperty("publicKeyBase64") String publicKeyBase64,
|
||||
@JsonProperty("blockchainSizeLimit") int blockchainSizeLimit,
|
||||
@JsonProperty("blockchainSize") int blockchainSize,
|
||||
@JsonProperty("lastBlockNumber") int lastBlockNumber,
|
||||
@JsonProperty("lastBlockHash") String lastBlockHash
|
||||
) {
|
||||
this.blockchainId = blockchainId;
|
||||
this.userLogin = userLogin == null ? "" : userLogin;
|
||||
this.publicKeyBase64 = publicKeyBase64;
|
||||
this.blockchainSizeLimit = blockchainSizeLimit;
|
||||
this.blockchainSize = blockchainSize;
|
||||
this.lastBlockNumber = lastBlockNumber;
|
||||
this.lastBlockHash = lastBlockHash == null ? "" : lastBlockHash;
|
||||
}
|
||||
|
||||
/** Публичный ключ в бинарном виде (32 байта) или null, если битый. */
|
||||
public byte[] getPublicKey32() {
|
||||
try {
|
||||
byte[] raw = Base64.getDecoder().decode(publicKeyBase64);
|
||||
return (raw != null && raw.length == 32) ? raw : null;
|
||||
} catch (IllegalArgumentException e) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user