본문 바로가기
반응형

블록체인/솔리디티7

[솔리디티] 나만의 토큰 만들기 (feat. ERC20) 나만의 ERC20 토큰 생성하기. 토큰 생성 및 mint pragma solidity >=0.4.22 2022. 5. 28.
[솔리디티] 간단한 Smart Contract (코인 발행 예제) 코인 발행은 컨트랙트를 만든 사람만이 할 수 있다. 코인을 전송할 땐 아이디와 비밀번호 등이 필요하지 않다. 오직 필요한 것은 Ethereum 키 쌍 뿐이다. Smart Contract 예제 pragma solidity ^0.5.0; contract Coin { // The keyword "public" makes those variables // easily readable from outside. address public minter;// (1) address 변수 타입 mapping (address => uint) public balances; // Events allow light clients to react to // changes efficiently. event Sent(address f.. 2022. 5. 24.
[Solidity]Truffle, Ganache를 이용한 Smart Contract 작성 Remix에서 스마트 컨트랙트를 작성하여 실행하는 것도 좋지만, 전체적인 흐름을 알기위해선 Local 환경 블록체인에 솔리디티를 개발하고 배포해보는 것이 좋을 것 같아서 유튜브보고 그대로 따라해보았다. Smart Contract 개발 환경 세팅하기 Dapp 개발시 준비물 지금 바로 Dapp 개발이 아니라 local 환경에 스마트 컨트랙트 개발 하는 것이지만, 최종 목표는 Dapp 개발이므로 Dapp 개발시 어떤 준비물이 필요한지 알아보았다. 보통 Dapp을 개발하기 위해선 다음의 준비물들이 필요하다. - Metamask: 개인 지갑 - Truffle: 컴파일, 배포, 디버깅을 지원하는 개발 도구 (쉽게 말해서 Spring같은 프레임워크) - Ganache: 로컬 가상 이더리움 간이 블록체인 - Truff.. 2021. 12. 10.
[Solidity] 함수 pragma solidity ^0.4.19; contract ZombieFactory { uint dnaDigits = 16; uint dnaModulus = 10 ** dnaDigits; struct Zombie { string name; uint dna; } Zombie[] public zombies; // 여기서 시작 function createZombie(string _name, uint _dna) { } } 함수 인자값은 보통 '_' 언어스코어를 변수앞에 붙여서, 전역 변수와 구별하는 것이 관례라고 한다. Public / Private 함수 // public 함수 function createZombie(string _name, uint _dna) { zombies.push(Zombie(_name.. 2021. 12. 4.
[Solidity] 변수 및 데이터 타입 Solidity에는 크게 상태변수(State Variable), 지역변수(Local Variable), 전역변수(Global Variable) 총 3가지 변수가 있다. 변수 상태변수 (State Variable) 상태 변수는 DB안에 있는 데이터처럼, 컨트랙트 저장소(이더리움 블록체인)에 영구적으로 저장되는 변수를 의미한다. pragma solidity ^0.4.19; contract ZombieFactory { uint a = 1; } 지역변수 (Local Variable) 지역변수는 함수가 실행될때까지만 존재하는 변수다. pragma solidity ^0.5.0; contract SolidityTest { uint storedData; // State variable constructor() publ.. 2021. 12. 1.
[Solidity] 구조체 & 배열 struct (구조체) pragma solidity ^0.4.19; contract ZombieFactory { uint dnaDigits = 16; uint dnaModulus = 10 ** dnaDigits; // 여기서 시작 struct Zombie { uint dna; string name; } } Solidity는 복잡한 자료형을 표현하기 위해, 구조체를 제공한다. 배열 정적배열 // 2개의 원소를 담을 수 있는 고정 길이의 배열: (동적배열) uint[2] fixedArray; // 또다른 고정 배열으로 5개의 스트링을 담을 수 있다: string[5] stringArray; 동적배열 // 동적 배열은 고정된 크기가 없으며 계속 크기가 커질 수 있다: uint[] dynamicArray; 구조.. 2021. 12. 1.