Skip to content
This repository has been archived by the owner on Feb 22, 2024. It is now read-only.

Commit

Permalink
modify http.js for address format
Browse files Browse the repository at this point in the history
  • Loading branch information
zergweak committed Apr 14, 2018
1 parent c25cf78 commit 85c7290
Show file tree
Hide file tree
Showing 6 changed files with 24 additions and 16 deletions.
9 changes: 5 additions & 4 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
"grpc-caller": "^0.4.0",
"grpc-tools": "^1.6.6",
"js-sha3": "^0.7.0",
"mocha": "^5.0.5",
"mocha": "^5.1.0",
"qs": "^6.5.1"
}
}
11 changes: 6 additions & 5 deletions src/client/http.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ const {AccountList, NumberMessage, WitnessList, AssetIssueList} = require("../pr
const {TransferContract} = require("../protocol/core/Contract_pb");
const qs = require("qs");
const stringToBytes = require("../lib/code").stringToBytes;
const { signTransaction, passwordToAddress } = require("../utils/crypto");
const { getBase58CheckAddress, signTransaction, passwordToAddress } = require("../utils/crypto");

class HttpClient {

Expand Down Expand Up @@ -38,6 +38,7 @@ class HttpClient {
* @returns {Promise<*>}
*/
async getLatestBlock() {

let {data} = await xhr.get(`${this.url}/getBlockToView`);
let currentBlock = base64DecodeFromString(data);
let block = Block.deserializeBinary(currentBlock);
Expand Down Expand Up @@ -71,7 +72,7 @@ class HttpClient {
size: recentBlock.length,
parentHash: byteArray2hexStr(blockData.getBlockHeader().getRawData().getParenthash()),
number: blockData.getBlockHeader().getRawData().getNumber(),
witnessAddress: byteArray2hexStr(blockData.getBlockHeader().getRawData().getWitnessAddress()),
witnessAddress: getBase58CheckAddress(Array.from(blockData.getBlockHeader().getRawData().getWitnessAddress())),
time: blockData.getBlockHeader().getRawData().getTimestamp(),
transactionsCount: blockData.getTransactionsList().length,
contraxtType: Transaction.Contract.ContractType,
Expand Down Expand Up @@ -104,7 +105,7 @@ class HttpClient {

return accountList.map(account => {
let name = bytesToString(account.getAccountName());
let address = byteArray2hexStr(account.getAddress());
let address = getBase58CheckAddress(Array.from(account.getAddress()));
let balance = account.getBalance();
let balanceNum = 0;
if (balance !== 0) {
Expand Down Expand Up @@ -134,7 +135,7 @@ class HttpClient {
return witnessList.map(witness => {

return {
address: byteArray2hexStr(witness.getAddress()),
address: getBase58CheckAddress(Array.from(witness.getAddress())),
url: witness.getUrl(),
latestBlockNumber: witness.getLatestblocknum(),
producedTotal: witness.getTotalproduced(),
Expand All @@ -156,7 +157,7 @@ class HttpClient {
return assetIssueListObj.getAssetissueList().map(asset => {
return {
name: bytesToString(asset.getName()),
ownerAddress: byteArray2hexStr(asset.getOwnerAddress()),
ownerAddress: getBase58CheckAddress(Array.from(asset.getOwnerAddress())),
totalSupply: asset.getTotalSupply(),
startTime: asset.getStartTime(),
endTime: asset.getEndTime(),
Expand Down
7 changes: 6 additions & 1 deletion src/lib/base58.js
Original file line number Diff line number Diff line change
Expand Up @@ -65,4 +65,9 @@ function decode58(string) {
for (i = 0; string[i] === '1' && i < string.length - 1; i++) bytes.push(0)

return bytes.reverse()
}
}

module.exports = {
encode58,
decode58
};
4 changes: 2 additions & 2 deletions src/utils/account.js
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
const byteArray2hexStr = require("./bytes").byteArray2hexStr;
const base64EncodeToString = require("../lib/code").base64EncodeToString;
const {genPriKey, getAddressFromPriKey} = require("./crypto");
const {getBase58CheckAddress, genPriKey, getAddressFromPriKey} = require("./crypto");

/**
* Generate a new account
*/
function generateAccount() {
let priKeyBytes = genPriKey();
let addressBytes = getAddressFromPriKey(priKeyBytes);
let address = byteArray2hexStr(addressBytes);
let address = getBase58CheckAddress(addressBytes);
let password = base64EncodeToString(priKeyBytes);
let privateKey = byteArray2hexStr(priKeyBytes);

Expand Down
7 changes: 4 additions & 3 deletions src/utils/crypto.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ const jsSHA = require("../lib/sha256");
const { byte2hexStr, byteArray2hexStr } = require("./bytes");

const add_pre_fix = 'a0'; //a0 + address ,a0 is version
const add_pre_fix_byte = 0xa0; //a0 + address ,a0 is version


/**
Expand Down Expand Up @@ -82,7 +83,7 @@ function getBase58CheckAddress(addressBytes) {
return base58Check;
}

function validAddress(base58Sting) {
function isAddressValid(base58Sting) {
if (typeof(base58Sting) != 'string') {
return false;
}
Expand Down Expand Up @@ -188,7 +189,7 @@ function SHA256(msgBytes) {
function passwordToAddress(password) {
let com_priKeyBytes = base64DecodeFromString(password);
let com_addressBytes = getAddressFromPriKey(com_priKeyBytes);
return byteArray2hexStr(com_addressBytes);
return getBase58CheckAddress(com_addressBytes);
}

module.exports = {
Expand All @@ -198,6 +199,6 @@ module.exports = {
getAddressFromPriKey,
getPubKeyFromPriKey,
getBase58CheckAddress,
validAddress,
isAddressValid,
getBase58CheckAddressFromPriKeyBase64String
};

0 comments on commit 85c7290

Please sign in to comment.