BitCoin 주소를 이용해 헌사된 Nelson Mandela 의 명언 보는 코드

Bitcoin 돈을 받을 주소를 이용해서 블록체인 속에서 사라지지 않는 영원히 기억된 문구를 만들어 낼 수 있다.

https://blockchain.info/ko/address/15gHNr4TCKmhHDEG31L2XFNvpnEcnPSQvd

다음의 블록체인 주소에 들어가면 돈을 받을 주소가 나열되어 있는데 bitcoin 의 주소값인 base58 로 인코딩된 값을 역으로 디코딩 하여 출력하면 된다.

import static org.junit.Assert.*;

import java.io.UnsupportedEncodingException;

import org.apache.commons.lang3.StringUtils;
import org.bitcoinj.core.AddressFormatException;
import org.bitcoinj.core.Base58;
import org.junit.Test;

public class AddressDecode {

	@Test
	public void test() throws AddressFormatException, UnsupportedEncodingException {

		String[] addresses = new String[] { "147qLbMuBPkhjGQjUxnizD1yGwEe18dMHn", "1AX5aSgcG2foSZpLdZD1vK6psojfBn9kwg",
				"1BceWTRrBwdivd3iC8xdwzqDnhwxfTxAsF", "1AyMMCme4dvs1AUcqQ2PcbVKYVVeC6Hkps",
				"1AcUCFbhKakvZeU8rems4aYtbjYStBRhcT", "1AX5XTatAggFnXZcawEJMHTKQCR3q6bciN",
				"1Bo1t2bNDDjhQ97D1T1E46zN7S5HHR44sp", "1AtSGJU3cTZLSVd4EvgnhmmDkdGJLinvVS",
				"1AtSGJU3dPEFVyiM2F6uDEbj5uSkAWHZiU", "1AFH5i3kaK7fEc78J1qkKhRWrMMFeuXcFf",
				"1A4UcZRARjdmHj8yLhF4iTDGGDQdqrzKY6", "1AFV8QDL4CfoqX9XhW3nGH6y7yipzpL3ty",
				"1A4e8xqe4g7dNNGYshX1wJCthVgoEwCybK", "1AcaG12FaR1AcEt4cJR7LqX3o6vTyyPaau",
				"1AFRWKXxi7JLfpvjxW3kuruW4eVG7W1NiJ", "1KubhUHhzzGcjprzrCsDtWzZEFYABtofCd",
				"1AcF19MRkLP8RPSzhpoHNU3NJVPTrsssQy", "16DLmocGtmcp7RckgywoLKnKLaRY4aV5Ka",
				"1B3pxn1mBuLQS7yr2YLcsC9VSjQj2m9Hxk", "1AFZvFuA5Pv3RTw679GfVYbAzykZqm3Ys2",
				"1AcHQwytpRKkX71DQasUk5TMw6qNED2Yqw", "15gHNr4TCKmhHDEG31L2XFNvpnEcnPSQvd",
				"15VAeb5KsRqbyNWWp7WHSACuVQahe5ngS7", "112CUyPHVEi3zyHViBzP3poagnvyUomYZ ",
				"1A8gyj9ETeGkS1hea2crNp1oJ7HfcRMuK8", "17mkD8JSfeVDx11ZumnEuKo6wVNw9mhipU",
				"1C3TPCe4pni96eQQXLFFe8LvV41qSC2KcL", "12TyUzmb4nCVVW87dsHUJCXvLWBYPuTpzB",
				"17xQY1Wan8TDFAmVtg8pe9mNDfp84YEn7r", "1BtmNAkEvWEts9is65unceNpRpgo9R2MxE",
				"16iwZjYtLBDUBxcMDvbjkX4fT6mEMGrWW ", "1CMDvFD3fgCw43u9p6EiWptaLLuz4byZGL",
		};

		for (String address : addresses) {

			byte[] decodedAddress = Base58.decode(address);
			String str = new String(decodedAddress, "UTF-8");

			System.out.println(str.substring(6, str.length() - 2));
		}
	}
}

결과값에서 아스키값 이외에 특수문자들을 삭제하면 된다고 생각했는데..아스키값만 건져내도 별 의미는 없는점은 약간 아쉽다.

test blog from open live writer

test blog

 

 

DSC01174

DSC_0147

git. 2개의 브랜치 사이에 적용된 branch 들의 차이 보는 방법

master branch 최종 test된 branch 를 merge 하려고 한다. staging 된 branch를 한꺼번에 merge 하는 상황이다.
baster branch 에는 없는데 staging 에는 merge 된 branch를 골라보는 방법이다. 배포될 branch 들을 훑어볼 필요가 있다. 리뷰 및 deployment history 를 만들기 위한 목적

아래의 스크립트를 git-bash 에서 실행시키면 두 branch 간에 merge 된 branch 차이점을 볼 수 있다.
아래의 예에서는 master 대신 PROD (운영) 을 사용하고 staging 은 STG 를 사용한다.