728x90

Decentralization 25

이더리움 솔리디티 기반 바로뉴스 글 등록 시스템 개발

이더리움 솔리디티를 활용하여 기본적인 기능을 구현하였습니다. 카이아 지갑을 활성화하면 사용자는 글을 등록하고, 등록된 글을 불러와 확인할 수 있습니다.주요 기능글 등록카이아 지갑을 활성화하면 글을 작성하고 등록할 수 있습니다.등록된 글은 특정한 슬러그(slug)를 갖게 됩니다.글 조회등록된 글을 불러올 때, 슬러그를 기준으로 검색하여 내용을 출력합니다.특정 슬러그가 존재하면 해당 내용을 바로 확인할 수 있습니다.글 수정 및 히스토리 기능출력된 내용을 바탕으로 수정이 가능합니다.수정된 내용은 이력(History) 기능을 통해 확인할 수 있습니다.사용자는 히스토리 버튼을 클릭하여 변경된 내용을 추적할 수 있습니다.지갑 없이도 글 조회 가능사용자는 카이아 지갑에 로그인하지 않아도 글을 확인할 수 있습니다.ht..

Decentralization 2025.03.23

가스비 걱정 없이 블록체인 애플리케이션을 개발하는 방법

블록체인 애플리케이션을 개발할 때 가장 큰 문제 중 하나는 높은 가스비(Gas Fee)입니다.특히, 이더리움(Ethereum) 네트워크는 가스비가 비싸서 작은 트랜잭션에도 높은 비용이 발생할 수 있습니다. 이를 해결하기 위해 가스비가 낮거나 아예 없는 블록체인 네트워크를 선택하는 것이 중요합니다. 이러한 네트워크들은 Layer 2 솔루션(예: Polygon)이나 고속/저비용 블록체인(예: Solana, Avalanche 등)을 활용하여 낮은 비용으로 빠른 트랜잭션을 처리할 수 있습니다.또한, 익명성이 필요한 경우 Privacy 블록체인을, 분산된 파일 저장이 필요하면 스토리지 블록체인을 고려할 수 있습니다. 본 문서에서는 가스비가 낮거나 없는 블록체인, 스토리지 솔루션, 익명성을 제공하는 블록체인을 ..

Decentralization 2025.03.22

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
728x90