컴파일러 버전은 0.4.26을 사용했고
자동 컴파일 기능을 사용하였다
워크스페이스에 simpleCoin.sol 파일을 만들고 코드를 입력한다
pragma solidity ^0.4.0;
contract SimpleCoin {
mapping(address => uint256) public coinBalance;
event Transfer(address indexed from, address indexed to, uint256 value);
constructor(uint256 _initalSupply) public {
coinBalance[msg.sender] = _initalSupply;
}
function transfer(address _to, uint256 _amount) public {
require(coinBalance[msg.sender] >= _amount);
require(coinBalance[_to] + _amount >= coinBalance[_to]);
coinBalance[msg.sender] -= _amount;
coinBalance[_to] += _amount;
emit Transfer(msg.sender, _to, _amount);
}
}
Deploy를 누르게 되면 0x5B3... 에게 1000의 Balance가 생기고
오른쪽 사진처럼 나오고
transfer에는 받게될 주소(0xAb8...)와 100의 amount를 입력하고 transact버튼을 누르고 난 뒤
coinBalance 칸에 0x5B3... 주소를 입력하고 버튼을 누르면 100을 보낸 나머지인 900,
coinBalance 칸에 0xAb8... 주소를 입력하고 버튼을 누르면 0에서 100을 받은 100이 표시되는것을 볼 수 있다.
리믹스 이더리움으로 SimpleCoin을 이용하여
A가 1000코인을 가지고 B에게 100코인을 보내는 트랜잭션을 만드는 코드와
과정을 진행해보았다.
정확한 개념과 사용법들을 잘 알지 못하는 상태라 코드 해석이 정확하지 못한것 같다.
vsCode로 옮기면 컴파일러 버전 차이 때문인지 똑같은 코드가 컴파일러에서 계속 걸려서 vsCode에선 못했다.
기존에 해왔던 JS처럼 콘솔로그를 찍어볼 수 없어서 더 답답했다.
'솔리디티' 카테고리의 다른 글
오버플로우, 언더플로우 (0) | 2022.02.16 |
---|---|
인터페이스 (interface) (0) | 2022.02.12 |
storage, memory (0) | 2022.02.11 |
구조체 (struct) (0) | 2022.02.10 |
컨트랙트 contract (0) | 2022.02.10 |
댓글