728x90

ethereum 5

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

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

Decentralization 2025.03.15

web3.py vs web3py-ext 차이점과 활용법

오늘은 Python에서 Ethereum 블록체인과 상호작용할 때 사용하는 web3.py와 web3py-ext의 차이에 대해 정리해봤다. web3.py란?Python에서 Ethereum 네트워크와 연결하여 스마트 컨트랙트를 호출하고 트랜잭션을 보낼 수 있도록 해주는 공식적인 Web3 라이브러리이다. 주요 기능:Ethereum 노드와 연결 (Infura, Alchemy, Geth 등) 스마트 컨트랙트 배포 및 호출 트랜잭션 전송 및 서명 이벤트 로그 조회 공식 문서: web3.py GitHub web3py-ext란?web3.py를 확장하는 비공식 라이브러리 또는 서드파티 확장 패키지로, 기본 web3.py에 없는 기능을 제공할 수 있다. 예시 기능:특정 네트워크 지원 커스텀 프로바이더 추가적..

Decentralization 2025.03.08
728x90