logo

블록체인 테스트

Solana(501)
솔라나 정보
솔라나 설치

Install rustc, cargo and rustfmt.
$ curl https://sh.rustup.rs -sSf | sh
$ source $HOME/.cargo/env
$ rustup component add rustfmt
$ rustup update
$ rustup install VERSION
$ sudo apt-get update
$ sudo apt-get install libssl-dev libudev-dev pkg-config zlib1g-dev llvm clang make
softwareupdate --install-rosetta

Download the source code.

$ git clone https://github.com/solana-labs/solana.git
$ cd solana

CARGO build

$ cargo build

Binary 생성 확인
$ cd solana/target/debug/
$ ./solana --version

SOLANA 지갑 생성
linux 환경에서 생성

$ mkdir ~/my-solana-wallet
$ cd solana/target/debug/
$ ./solana-keygen new --outfile ~/my-solana-wallet/my-keypair.json
$ ./solana-keygen pubkey ~/my-solana-wallet/my-keypair.json
결과 : Vhtqv2iFRNFMjuwTcNsC2VM16nTxkVJjRN4bQoVwvY9 지갑 주소 생성
my-keypair.json 안에 64byte 배열 생성됨 복구에 사용

web3.js 에서 생성

const wallet = web3.Keypair.generate();

SOLANA지갑 설정(복구)
key bytes 설정(복구)

const keypair_bytes = [0,0,0,0,0...0,0]; //total length : 64
var private_key_bytes = new Uint8Array(keypair_bytes.slice(0, 32))
var public_key_bytes = new Uint8Array(keypair_bytes.slice(32, keypair_bytes.length))
console.log("private_key_bytes ", private_key_bytes)
console.log("public_key_bytes ", public_key_bytes)
console.log(Keypair.fromSeed(private_key_bytes).publicKey.toString())

니모닉 설정(복구)

let mnemonic = "bid cloth bleak jaguar lens situate play gospel visual sweet west suit"
let pw = "";
bip39.mnemonicToSeed(mnemonic, pw).then((bytes) => {
const derivedSeed = ed25519.derivePath(derivePath, bytes.toString('hex')).key;
const keypair = Keypair.fromSeed(derivedSeed)
console.log("publickKey", keypair.publicKey.toString())
console.log("secretKey", keypair.secretKey)
})

트랜잭션 생성(Web3.js)

솔라나 발송 정보
Create Simple Transaction
let transaction = new web3.Transaction();

Add an instruction to execute
transaction.add(web3.SystemProgram.transfer({
fromPubkey: payer.publicKey,
toPubkey: toAccount.publicKey,
lamports: 1000,
}));

토큰 발송관련 정보

const fromWallet = Keypair.fromSeed(private_key_bytes)
const toPublicKey = new PublicKey(toAddress)
const mint = new PublicKey('토큰주소 여기')

const token = new Token(connection, mint, TOKEN_PROGRAM_ID, fromWallet)

const fromTokenAccount = await token.getOrCreateAssociatedAccountInfo(fromWallet.publicKey)
const toTokenAccount = await token.getOrCreateAssociatedAccountInfo(toPublicKey)

transaction = new Transaction().add(
Token.createTransferInstruction(
TOKEN_PROGRAM_ID,
fromTokenAccount.address,
toTokenAccount.address,
fromWallet.publicKey,
[],
sendAmount * LAMPORTS_PER_SOL,
),
);

발송

Sign transaction, broadcast, and confirm

const signature = await sendAndConfirmTransaction(
connection,
transaction,
[fromWallet],
);

Tron(195)
트론 정보

BIP44 규격 m/44'/195'/0'/0'

먼저 TRC10,은 TRC20보다 쉽게 발행됨. 그냥 입력만 쭈욱 하면 바로 발행됨.
단 TRC10은 각 계정별 1번만 발행됨.

TRC721가 NFT 전용 토큰.

* 수수료 관련

대역폭(Bandwidth)과, 에너지(Energy)

- TRC10 대역폭을 수수료로 발생함, 대역폭이없을경우 TRX 지불(0.282 TRX)
- TRC20 대역폭(0.345 TRX)과 에너지(13,379에너지, 3.74612 TRX)를 수수료로 지불, 없는경우 TRX 지불

대역폭 : TRON에서는 모든 거래에서 대역폭이 소모되지만 시스템은 매일 1500개의 대역폭을 활성화된 각 계정에 부여합니다. 사용자는 TRX를 동결하여 대역폭을 확보할수 있습니다.
에너지 : TRON에서는 스마트 컨트랙트 생성하고 실행하면 애너지가 소비됩니다, 사용자는 TRX 동결을 통해 애너지를 얻을수 있습니다.

트론 관련 URI
트론 Netwrok

Mainnet https://api.trongrid.io
Shasta Testnet https://api.shasta.trongrid.io
Nile Testnet https://nile.trongrid.io

트론 토큰 발행
TronLink

노드

테스트넷 코인 받기
  • TronLink 노드 변경 : 트론링크 -> 설정-> node-> 테스트 노드 선택



    • 접속 이후 @TronTest2 클릭 
    • Twitter 이동 아래 문구 확인
Follow our account Twitter account @TronTest2.
Write your address in your tweet and @TronTest2.
We will transfer 10,000 test TRX (usually within five minutes).
Each address can only be obtained once a day.
If you need TRX for the nile testnet, please add "NILE" in your tweet.
    • 트위터 계정으로 본인 테스트 address 트윗(@TronTest2 [address입력])


ERC-20 Token Interface 작성(sol)

  • 가장 아래 부분만 수정 (decimals : 8, 18로 하면 생성안된다는 이야기가 있음)


token.sol 업로드



  • 업로드 성공 시 정상적으로 파일 읽은 상태


  • 컴파일 버전 선택 0.5.8_Odyssey_v3.6.0 선택


  • 컴파일 완료


  • Deploy 클릭 -> Contract Name 변경


  • TronLink에서 사인(Fee 5.454 trx), 디플로이(한 2~3분걸림)


  • 디플로이가 완료되면 비용 230.92552trx 발생하고 해당 Contract가 생성됨.

토큰 등록



  • 입력 시 잘못된 정보가 있으면. alert이 아닌 입력 창 아래에 error 표기되니 next 버튼 눌럿을 때 반응 없으면 입력한 정보들 다시 확인.



  • 완료. 토큰 생성및 발행후 일정 시간이 지나면 발행된 코인을 검색/ 추가 할 수 있음.

트론 토큰 발행후 이전
Klaytn(8217)
Copyright © SBP. All rights reserved. been778@gmail.com