[Ethereum] dApp 개발기(1)

dApp 개발기(1)

갑자기 어디에선가 솔리디티가 떨어졌다. 이 개발기는 아마, 많은 사람들에게 도움이 될지도 모른다. 안 되면 어쩔 수 없고! 나한테는 도움이 되겠지! 셀프로 꾸준히 참조할 것 같으니까 잘 정리해 두어야지. ㅎㅎ


Solidity 계정 생성

1
2
3
4
person.newAccount("패스워드")
eth.accounts[접근할 인덱스]
personal.listAccounts[접근할 인덱스]
personal.unlockAccount(지갑 해시, "패스워드")

Solidity default 계정 변경

1
eth.defaultAccount = eth.accounts[접근할 인덱스]

Solidity Contract 실행

1
2
3
4
5
6
contractAddress = '컨트랙트 주소'
abi = abi값 복사해서 넣기
simpleStorageContract = eth.contract(abi)
simpleStorage = simpleStorageContract.at(contractAddress)
simpleStorage.set(값)
simpleStorage.get()

인자에 배열 사용하기

아래와 같이 코딩하면 되는데, 이렇게 할 경우 result의 특정 index에 다른 값을 저장할 수 없다. 예를 들어, {1, 2, 3} 배열을 인자로 받았고, 그 다음 번 호출에 또 {1, 2, 3}이 들어오게 되면 result의 최종 값은 {1, 2, 3, 1, 2, 3}이 된다.

1
2
3
4
5
6
uint[] result;
function setData(uint[] arr) {
for(uint i = 0; i < arr.length; i++) {
result.push(arr[i]);
}
}

그럼 어떻게 받아야 하냐고? 다음과 같이 받으면 된다.

1
2
3
4
uint[] result;
function setData(uint[] arr) {
result = arr;
}

도대체 이걸 왜 고민했지? ;;


Share