목록Tutorials/Solidity (6)
KoreanFoodie's Study
크립토 좀비에서 제공하는 튜토리얼을 통해 배우는 Solidity 문법을 정리하고 있습니다! Lesseon 6 에서는 Web3.js 를 이용해 이더리움과 front-end 사이의 동작에 대해 배울 수 있었다. index.html 이라는 코드에 필요한 자바스크립트 코드를 정리해 놓았다. 이번 장을 정리한 내용은 다음과 같다. 1. Web3.js smart contract 상에서 함수를 호출하고 싶으면, 노드에게 다음과 같은 내용을 전달해야 한다. smart contract 의 주소 호출할 함수와 전달할 매개변수 이때, 이더리움 노드는 JSON-RPC 라는 언어로 소통한다. JSON-RPC 쿼리문은 다음과 같은 형식으로 이루어져 있다. // Yeah... Good luck writing all your fun..
크립토 좀비에서 제공하는 튜토리얼을 통해 배우는 Solidity 문법을 정리하고 있습니다! Lesseon 5 에서는 ERC721 의 적용과 SafeMath 에 대한 간단한 예제를 다루고 있다. 기존 코드에 zombieownership.sol 을 추가했다. 1. ERC721 우리가 흔히 NFT 라고 부르는 토큰은, 각 토큰이 'unique' 하다는 특징을 가진다. 예를 들어, "Steve" 라는 이름의 좀비가 있고, 이것을 토큰으로 만들면, 다른 이름을 가진 토큰들과는 구별되어야(distinguishable) 한다. 또한 ERC721 토큰은 쪼갤 수 없다. "Steve" 라는 좀비가 있다고 했을 때, 0.237 만큼의 "Steve" 로 쪼개어 보낼 수 없다는 뜻이다(물론 최근에는 NFT 도 쪼개는 논의가 ..
크립토 좀비에서 제공하는 튜토리얼을 통해 배우는 Solidity 문법을 정리하고 있습니다! Lesseon 4 에서는 payable 개념에 대해서 조금 더 다룬다. 이전 게시글에서 zombieattack.sol 을 추가해, 좀비가 공격할 수 있도록 만들었다! 이번 장을 정리한 내용은 다음과 같다. 1. payable Modifier 이더리움에는 Ether 를 주고 받을 수 있는, payable 함수라는 녀석이 존재한다. contract OnlineStore { function buySomething() external payable { // Check to make sure 0.001 ether was sent to the function call: require(msg.value == 0.001 ethe..
크립토 좀비에서 제공하는 튜토리얼을 통해 배우는 Solidity 문법을 정리하고 있습니다! Lesseon 3 에서는 가스 소모와 코드 효율성 등에 대해 공부할 수 있었다. 기존에 zombiefactory.sol 과 zombiefeeding.sol 로 나누어진 코드에 zombiehelper.sol 과 ownable.sol 을 추가했다. 이번 장을 정리한 내용은 다음과 같다. 1. Immutability of Contracts 이더리움에 컨트랙트를 배포하면, 해당 컨트랙트는 불변(immutable) 이 된다. 따라서, contract 에 문제가 생기면 이를 수정하는 것이 아니라 다른 smart contract 의 주소를 유저에게 제공하는 식으로 패치를 해야 한다. 2. Ownable Contracts 만약 ..
크립토 좀비에서 제공하는 튜토리얼을 통해 배우는 Solidity 문법을 정리하고 있습니다! 이전 게시글에서 작성했던 코드를 조금 확장해서, 좀비를 생성하는 것 말고도 다른 여러 가지 기능을 추가적으로 구현했다. 다른 개체를 먹고 다른 개체의 dna 와 섞인 새로운 좀비를 생성하거나, cryptokitty 의 dna 를 불러와서 좀비를 만들어보는 등의 함수가 구현되어 있다. 편의를 위해, 코드를 zombiefactory.sol 과 zombiefeeding.sol 로 나누었다. 이번 장을 정리한 내용은 다음과 같다. 1. Ethereum blockchaing 은 accounts 로 이루어져 있고, 각 accounts 에는 address 가 있다. 2. mapping 을 통해 C++ 에서의 map 같은 기능을..