728x90

solidity 12

Solidity로 기본적인 토큰 계약 구현하기 토큰 발행, 전송, 구매 및 판매 기능

오늘은 Solidity를 사용하여 기본적인 토큰 발행 및 거래가 가능한 스마트 계약을 작성하는 방법을 배웠습니다. 주요 내용을 아래와 같이 정리했습니다.// SPDX-License-Identifier: MIT// MIT 라이선스를 사용한다고 선언하는 부분pragma solidity >= 0.7.0 uint256) public balanceOf; // `balanceOf`는 각 주소에 대한 토큰 잔액을 저장하는 맵입니다. 주소는 키이고, 값은 잔액입니다. uint8 decimals; // `decimals`는 토큰이 소수점 몇 자릿수까지 표현될 수 있는지를 나타내는 변수입니다. 예를 들어, 18이면 18자리까지 소수점 아래로 표현 가능합니다. string name; // `..

Decentralization 2025.03.17

블록체인 기반 투표 시스템 구현

1. 개요오늘은 Solidity 스마트 컨트랙트와 Web3.js를 활용하여 블록체인 기반 투표 시스템을 구축하는 과정을 학습했다. Solidity로 작성된 스마트 컨트랙트와 이를 프론트엔드에서 다루는 JavaScript 코드를 분석하고 이해하는 것이 목표였다. 2. 스마트 컨트랙트 (Migrations.sol)먼저, Truffle을 사용하여 마이그레이션을 관리하는 스마트 컨트랙트를 작성했다. pragma solidity ^0.5.0; // Solidity 컴파일러 버전 지정contract Migrations { // 마이그레이션을 관리하는 스마트 컨트랙트 선언 address public owner; // 컨트랙트 소유자의 주소 저장 uint public last_completed_migration..

Decentralization 2025.03.17

Win & Ubuntu CLI에서 Truffle 설정 및 스마트 계약 배포 가이드

Win & Ubuntu CLI 트러플(Truffle) 설정 및 예제설치 확인Truffle을 사용하기 전에 필수 패키지들이 올바르게 설치되었는지 확인합니다.$ python3 --versionPython 3.12.3$ node -vv22.14.0$ npm -v11.1.0$ git --versiongit version 2.43.0Truffle 설치Truffle은 Node.js 기반의 Ethereum 개발 프레임워크입니다. npm을 사용하여 전역(global)으로 설치합니다.$ npm install truffle -g설치가 완료되면 다음 명령어로 버전을 확인합니다.$ truffle versionTruffle v5.11.5 (core: 5.11.5)Ganache v7.9.1Solidity v0.5.16 (solc..

Decentralization 2025.03.17

Solidity로 기본적인 토큰 판매 스마트 컨트랙트 작성

오늘은 Solidity를 사용하여 토큰 판매를 위한 기본적인 스마트 컨트랙트를 작성하는 방법에 대해 배웠습니다. 이 컨트랙트는 사용자가 이더리움을 지불하고 토큰을 구매할 수 있도록 하고, 소유자는 자신이 받은 수익을 출금할 수 있는 기능을 포함합니다. 또한, 환율을 설정하고 추가 토큰을 발행하는 기능도 구현되어 있습니다.pragma solidity >=0.4.22 잔액) */ mapping (address => uint256) public balanceOf; address payable public owner; // 스마트 컨트랙트 소유자 주소 uint public rate; // 토큰 환율 (1 ETH 당 몇 개의 토큰을 받을 수 있는지) uint public totalSuppl..

Decentralization 2025.03.15

Solidity 스마트 컨트랙트: SimpleAuction 경매 시스템

Solidity를 이용해 간단한 경매 시스템을 구현하는 SimpleAuction 스마트 컨트랙트를 소개합니다. 이 컨트랙트는 경매 주최자가 설정한 기간 동안 입찰을 받고, 가장 높은 금액을 제시한 사람이 낙찰받도록 설계되었습니다.// SPDX-License-Identifier: MITpragma solidity >= 0.7.0 uint) pendingReturns; // 경매 종료 여부를 나타내는 변수 bool ended; // 입찰이 증가할 때 발생하는 이벤트 event HighestBidIncreased(address bidder, uint amount); // 경매 종료 시 발생하는 이벤트 event AuctionEnded(address winner, uint am..

Decentralization 2025.03.15

Solidity로 복권 스마트 컨트랙트 구현하기

오늘은 Solidity를 사용하여 간단한 복권(Lottery) 스마트 컨트랙트를 작성해 보았다. 이 컨트랙트는 참가자들이 일정 금액 이상의 Ether를 입금하면 자동으로 복권에 등록되고, 이후 관리자가 무작위로 승자를 선정하여 상금을 지급하는 기능을 수행한다.코드 분석pragma solidity >=0.4.22 .01 ether); // 최소 0.01 ETH 이상을 보내야 참가 가능 players.push(msg.sender); // 참가자의 주소를 배열에 추가 } // 무작위 숫자를 생성하는 함수 (보안적으로 안전하지 않음) function random() private view returns (uint) { return uint(keccak256(abi.en..

Decentralization 2025.03.15

Solidity로 간단한 인사말 스마트 계약 만들기

오늘은 Solidity를 사용하여 간단한 스마트 계약을 작성해 보았습니다. 이 스마트 계약은 인사말을 저장하고, 이를 조회하거나 변경할 수 있는 기능을 가지고 있습니다. Solidity의 기본적인 문법과 개념을 익히기 좋은 예제입니다.계약 내용이 스마트 계약은 다음과 같은 두 가지 기능을 제공합니다:인사말 조회: 계약이 생성될 때 설정된 인사말을 조회할 수 있습니다.인사말 변경: 계약의 인사말을 새로운 인사말로 변경할 수 있습니다.코드 설명// SPDX-License-Identifier: MIT pragma solidity ^0.5.8; // Solidity 버전 지정// Greeter 계약 정의contract Greeter { address creator; // 계약 생성자의 주소를 저장하는 ..

Decentralization 2025.03.15

Solidity 기초 스마트 계약을 이용한 토큰 시스템 만들기

오늘은 Solidity로 작성된 간단한 토큰 계약인 개인 토큰 만들기에 대해 배웠습니다. 이 계약은 기본적인 ERC-20 스타일의 토큰을 구현한 것으로, 특정 주소 간에 토큰을 전송할 수 있는 기능을 제공합니다. 이 블로그에서는 코드의 각 부분을 분석하고 설명해보겠습니다.Solidity 스마트 계약: 개인 토큰// SPDX-License-Identifier: UNLICENSEDpragma solidity ^0.6.4;// YHToken이라는 간단한 토큰 계약contract YHToken { // 각 주소의 토큰 잔액을 저장하는 매핑 mapping(address => uint) public balanceOf; // 생성자는 계약이 배포될 때 초기 토큰 공급량을 설정합니다. // 초기 ..

Decentralization 2025.03.15

이더리움 기반 간편 투표 시스템 구축하기 Ganache, Solidity, Web3.js로 스마트 컨트랙트 배포 및 웹 애플리케이션 개발

이더리움 블록체인 기반 투표 시스템 구축하기1. 개발 환경 설정라이브 블록체인에서 직접 개발하는 대신, Ganache라는 인메모리 블록체인(블록체인 시뮬레이터)을 사용하여 앱을 개발할 것입니다. 이 튜토리얼의 2부에서는 실제 블록체인과 상호 작용하는 방법을 다룹니다.Ganache는 자동으로 10개의 테스트 계정을 생성하며, 각 계정에는 100개의 가짜 이더가 미리 로드되어 있습니다. 이를 활용하여 테스트 블록체인을 실행할 수 있습니다.Ganache 다운로드 및 설치Ganache는 이더리움 스마트 컨트랙트를 개발 및 테스트하는 데 유용한 개인 블록체인 환경을 제공합니다. 아래는 Ganache를 다운로드하고 설치하는 방법입니다.Ganache 다운로드Ganache 공식 웹사이트에 접속합니다.운영 체제(Wind..

Decentralization 2025.03.15

Solidity로 간단한 NFT와 마켓 만들기

안녕하세요! 오늘은 Solidity라는 스마트 컨트랙트 언어를 사용해서 간단한 NFT(Non-Fungible Token, 대체 불가능 토큰)와 이를 사고팔 수 있는 마켓을 만드는 방법을 배워봤습니다. 초보자인 저도 이해할 수 있게 최대한 쉽게 풀어볼게요!pragma solidity >=0.4.24 address) public tokenOwner; // 토큰 ID -> 소유자 주소: 누가 어떤 토큰을 소유하는지 추적 mapping (uint256 => string) public tokenURIs; // 토큰 ID -> URI: 토큰의 메타데이터(컨텐츠) 저장 // 특정 주소가 소유한 토큰 ID 리스트를 저장 mapping (address => uint256[]) private _owned..

Decentralization 2025.03.10
728x90