Wolfram 언어

계약을 사용하여 CryptoKitties의 게놈 조사하기

Wolfram 언어를 사용하면 블록체인에서의 계약과 상호작용을 간단하게할 수 있습니다. 이 예는 이러한 기능을 이용하여 CryptoKitty(크립토키티)와 그 부모의 게놈을 나열합니다. 이러한 열의 시각화는 유전자의 계승을 잘 나타내 줍니다.

CryptoKitties는 이더리움 블록체인에서 실행되는 Axiom Zen이 개발한 비디오 게임입니다. 이 게임은 다양한 종류의 가상 고양이의 매매, 수집, 번식이 가능합니다. 각각의 CryptoKitty는 ID와 게놈이 있습니다. 가상의 표현형은 부모로부터 다음 세대로 전달되는 cattribute라는 속성으로 나타납니다.

먼저 CryptoKitties 계약 주소를 추출합니다.

BlockchainContractValue를 사용하여 CryptoKitty의 계약 getKitty 함수를 ID 949502로 호출합니다.

CryptoKitty에 대한 다른 데이터 필드에서 유전자와 부모의 ID를 추출합니다.

이제 부모의 유전자를 검색합니다.

유전자는 게임의 Kai 표기법을 사용하여 부호화되어 있습니다. 카이 표기법은 5비트 세그먼트의 정숫값의 단일 문자로 된 Base58 표현입니다. 다음 함수는 현재 사용 중인 비트가 180비트 뿐이라는 사실을 사용하여 정수 표현을 유전자의 목록으로 변환합니다.

CryptoKitty와 부모의 유전자를 얻습니다.

CryptoKitty와 부모 사이에 존재하는 다른 유전자를 분리합니다.

각 유전자의 색 규칙을 만듭니다.

마지막으로, 세 줄의 ArrayPlot을 생성합니다. 네 개의 유전자의 각 그룹이 rules of the game(게임의 규칙)에 따라 해독 가능한 cattribute를 정의합니다.

관련 예제

de en es fr ja pt-br zh