-
bitcoin $87959.907984 USD
1.34% -
ethereum $2920.497338 USD
3.04% -
tether $0.999775 USD
0.00% -
xrp $2.237324 USD
8.12% -
bnb $860.243768 USD
0.90% -
solana $138.089498 USD
5.43% -
usd-coin $0.999807 USD
0.01% -
tron $0.272801 USD
-1.53% -
dogecoin $0.150904 USD
2.96% -
cardano $0.421635 USD
1.97% -
hyperliquid $32.152445 USD
2.23% -
bitcoin-cash $533.301069 USD
-1.94% -
chainlink $12.953417 USD
2.68% -
unus-sed-leo $9.535951 USD
0.73% -
zcash $521.483386 USD
-2.87%
초보자를위한 견고성 튜토리얼
Solidity is a high-level programming language used to write self-executing smart contracts on the Ethereum blockchain, enabling developers to build secure and efficient decentralized applications.
2025/07/20 07:21
견고성 및 스마트 계약 소개
Solidity는 이더 리움 블록 체인에 스마트 계약을 작성하도록 특별히 설계된 고급 정적으로 유형되는 프로그래밍 언어입니다. 스마트 계약은 중개자없이 용어를 자동으로 시행하고 실행하는 자체 사전 계약입니다. 이더 리움 또는 기타 EVM 호환 블록 체인에서 분산 된 응용 프로그램 (DAPP)을 구축하려는 개발자에게는 견고성을 이해하는 것이 필수적입니다.
Solidity의 구문은 JavaScript와 유사하므로 웹 프로그래밍에 익숙한 개발자에게 비교적 액세스 할 수 있습니다. 그러나 블록 체인 환경은 개발자가 안전하고 효율적인 계약을 작성하기 전에 이해해야하는 가스 수수료, 상태 변경 및 거래 최종과 같은 고유 한 개념을 도입합니다.
개발 환경 설정
견고성 코드를 작성하기 전에 적절한 개발 환경을 설정하는 것이 중요합니다. 여기에는 스마트 계약을 작성, 컴파일 및 배포 할 수있는 도구 설치가 포함됩니다.
- Node.js 및 NPM 설치 : 많은 이더 리움 개발 도구의 전제 조건입니다.
- 트러플 설치 : 인기있는 이더 리움 개발 프레임 워크. 터미널에서
npm install -g truffle실행하십시오. - 가나슈 설치 : 이더 리움 개발을위한 개인 블록 체인. Trufflesuite.com/ganache 에서 GUI 또는 CLI 버전을 다운로드하십시오.
- 코드 편집기 : Juan Blanco의 Solidity Extension을 사용하여 Visual Studio Code를 설정하는 것이 좋습니다.
환경이 준비되면 TestNet 또는 Mainnet에 배포하기 전에 스마트 계약을 현지에서 생성하고 테스트 할 수 있습니다.
첫 번째 견고성 스마트 계약 작성
숫자를 저장하고 누구나 검색하거나 업데이트 할 수있는 간단한 스마트 계약을 만들어 봅시다. 이 예제는 기본 견고성 구문 및 구조를 보여줍니다.
pragma solidity ^0.8.0;계약 SimpleStorage {uint storedData; function set(uint x) public { storedData = x; } function get() public view returns (uint) { return storedData; }}
- Pragma Solidity ^0.8.0; 계약을 컴파일하는 데 사용되는 견고성 버전을 지정합니다.
- Contract SimpleStorage {...}는 Simplestorage라는 새로운 계약을 정의합니다.
- Uint StoredData; 부호없는 유형의 상태 변수를 선언합니다.
- 함수 세트 (uint x) public {...}를 사용하면 저장된 값을 업데이트 할 수 있습니다.
- 함수 get () 공개보기 반환 (UINT)은 계약 상태를 수정하지 않고 저장된 값을 검색합니다.
이 기본 계약은 블록 체인에 데이터를 저장하고 액세스하는 방법을 보여줍니다.
계약을 컴파일하고 배포합니다
계약서를 작성한 후 다음 단계는 Truffle 및 Ganache를 사용하여 컴파일하고 배포하는 것입니다.
- 트러플 프로젝트 만들기 : 새로운 디렉토리에서
truffle init실행하십시오. -
contracts/폴더에 계약 파일을 배치하십시오 . -
migrations/폴더에서 마이그레이션 파일을 만듭니다 . 예:
const SimpleStorage = artifacts.require('SimpleStorage'); module.exports = function (deployer) { deployer.deploy (simplestorage); };- 가나슈를 시작 하고 포트 7545에서 실행되고 있는지 확인하십시오.
-
truffle compile실행하여 견고성 코드를 컴파일하십시오. -
truffle migrate하여 계약을 로컬 블록 체인에 배치하십시오.
배포되면 트러플 콘솔 또는 프론트 엔드 인터페이스를 사용하여 계약과 상호 작용할 수 있습니다.
스마트 계약과 상호 작용합니다
배포 후 트러플 콘솔 또는 DAPP 프론트 엔드를 사용하여 계약과 상호 작용할 수 있습니다. 콘솔을 통해 수행하는 방법은 다음과 같습니다.
- 트러플 콘솔을 엽니 다 :
truffle console실행하십시오. - 배포 된 계약 인스턴스 가져 오기 :
SimpleStorage.deployed().then(function(instance) { contract = instance; }) - GET 기능을 호출하십시오 .
contract.get().then(function(value) { console.log(value); }) - 설정 함수를 호출하십시오 .
contract.set(42, { from: '0xYourAccountAddress' })
계약과의 각 상호 작용에는 거래 (세트와 같은 상태 변경의 경우)를 보내거나보기 함수 (get)를 호출하는 것이 포함됩니다. 트랜잭션에는 가스가 필요하고 채굴되며보기 기능은 읽기 전용이며 무료입니다.
일반적인 함정과 모범 사례
견고성을 개발하려면 블록 체인 코드의 불변적이고 비용이 많이 드는 특성으로 인해 세부 사항에주의를 기울여야합니다.
- 오래된 견고성 버전을 사용하지 마십시오 . 항상 최신 안정 버전을 사용하여 보안 개선으로부터 이익을 얻으십시오.
- 오버플로 및 언더 플로우 취약성을 방지하기 위해 산술 작업에 Safemath 라이브러리를 사용하십시오 .
- 단위 테스트 및 Truffle Test 및 Hardhat과 같은 도구를 사용하여 철저히 테스트하십시오 .
- 비용이 많이 드는 실수를 피하기 위해 Mainnet 전에 Goerli 또는 Sepolia와 같은 TestNets에 배포하십시오 .
- 코드를 감사 하거나 Slither 및 Mythx와 같은 도구를 사용하여 취약점을 감지하십시오.
이러한 모범 사례를 이해하면 계약이 안전하고 효율적이며 생산 사용 준비가되도록합니다.
자주 묻는 질문
Q : view 로 표시된 함수와 상태를 수정하는 함수의 차이점은 무엇입니까? A : view 기능은 계약의 상태를 변경하지 않으며 가스를 소비하지 않고 호출 할 수 있습니다. 상태를 수정하는 기능은 거래가 필요하므로 가스 비용이 드는 기능입니다.
Q : 배포 된 스마트 계약을 업데이트 할 수 있습니까? A : 스마트 계약은 일단 배포되면 불변입니다. 업데이트하려면 새 계약을 배치하고 프록시 계약을 사용하여 후진 호환성을 유지해야합니다.
Q : 견고성의 오류를 어떻게 처리합니까? A : require() , assert() 및 revert() 사용하여 오류를 처리합니다. require() 입력 및 조건을 검증하는 데 사용되며 assert() 는 내부 오류를 확인합니다.
Q : 블록 체인에서 스마트 계약을 삭제할 수 있습니까? A : 아니요, 계약을 완전히 삭제할 수는 없습니다. 그러나 selfdestruct 기능을 사용하여 코드를 제거하고 나머지 자금을 다른 주소로 이전 할 수 있습니다.
부인 성명:info@kdj.com
제공된 정보는 거래 조언이 아닙니다. kdj.com은 이 기사에 제공된 정보를 기반으로 이루어진 투자에 대해 어떠한 책임도 지지 않습니다. 암호화폐는 변동성이 매우 높으므로 철저한 조사 후 신중하게 투자하는 것이 좋습니다!
본 웹사이트에 사용된 내용이 귀하의 저작권을 침해한다고 판단되는 경우, 즉시 당사(info@kdj.com)로 연락주시면 즉시 삭제하도록 하겠습니다.
- Cango Stock, BTC Miner, Holdings 매각: AI Unknown으로의 3억 5천만 달러 도약
- 2026-02-10 01:05:01
- 암호화폐 개발이 새로운 시대로 진입합니다: 실제 채택을 위한 탐구가 강화됩니다
- 2026-02-10 01:05:01
- 2026년 성장을 위한 AO 암호화폐 및 AI 코인: 지능형 자동화에 대한 심층 분석
- 2026-02-10 01:00:02
- New York Buzz: 모든 지역 이벤트 참석자에게 무료 음료와 즐거움을 제공하는 Trivia Nights
- 2026-02-10 01:00:02
- 비트코인의 롤러코스터: 전략은 공격적인 축적 속에서 손실을 탐색합니다
- 2026-02-10 00:55:01
- 터키의 테더 동결로 안전한 피난처 재검토: 진정한 보안은 양자 증거인가?
- 2026-02-10 00:50:01
관련 지식
데이 트레이딩 암호화폐의 레버리지를 안전하게 최대화하는 방법은 무엇입니까?
2026-02-08 01:19:53
암호화폐 파생상품의 레버리지 메커니즘 이해 1. 레버리지는 거래자가 필요한 자본의 일부만으로 더 큰 포지션을 제어할 수 있도록 함으로써 잠재적 이익과 손실을 모두 배가시킵니다. 2. 대부분의 암호화폐 거래소는 자산 쌍 및 계정 확인 수준에 따라 2배에서 125배까지의 ...
스캘핑을 위한 "원클릭" 거래 인터페이스를 설정하는 방법은 무엇입니까?
2026-02-09 22:59:56
핵심 아키텍처 요구 사항 1. 50ms 미만 간격 내에 실시간 입찰 요청 업데이트를 수신하려면 거래소의 주문장 피드와 직접 지연 시간이 짧은 WebSocket 연결을 설정해야 합니다. 2. 인터페이스는 라우팅 지연을 초래하는 외부 백엔드 프록시에 대한 의존을 피하기 위...
주요 업그레이드 전후에 이더리움 선물을 거래하는 방법은 무엇입니까?
2026-02-08 09:40:26
이더리움 선물 메커니즘 이해 1. 이더리움 선물 계약은 CME 또는 바이낸스 선물과 같은 규제 거래소에서 미리 결정된 가격과 날짜에 ETH를 구매하거나 판매하기 위한 표준화된 계약입니다. 2. 레버리지는 중요한 역할을 합니다. 트레이더는 최소한의 자본으로 대규모 포지션...
대규모 계약 거래를 위한 높은 유동성 쌍을 찾는 방법은 무엇입니까?
2026-02-08 18:20:09
대규모 계약 거래를 위한 높은 유동성 쌍 찾기 대규모 계약 주문을 실행하는 트레이더는 하락과 가격 영향을 피하기 위해 유동성을 우선시해야 합니다. 유동성이 낮은 환경은 실행 위험을 증폭시킵니다. 특히 자금조달 요율과 베이시스 차이로 인해 변동성이 커지는 무기한 선물과 ...
청산을 방지하기 위해 "평균 가격"과 "종가"를 사용하는 방법은 무엇입니까?
2026-02-07 17:39:59
시장 평균 가격 메커니즘 이해 1. 시장 평균 가격은 무기한 계약의 공정한 시장 가치를 반영하도록 설계된 여러 현물 교환 지수와 펀딩 요율 조정에서 파생된 종합 가치입니다. 2. Binance, Coinbase, Kraken, Bybit 등 주요 현물 시장의 실시간 데...
레버리지 거래에서 "자본 수익률"(ROE)을 계산하는 방법은 무엇입니까?
2026-02-08 04:39:45
레버리지 거래의 자기자본수익률 이해 1. 레버리지 거래의 ROE(자기자본 수익률)는 전체 포지션 규모가 아닌 거래자의 자체 자본을 기준으로 창출된 수익성을 측정합니다. 이는 거래자가 거래소나 브로커로부터 자금을 빌릴 때 자신의 자산을 얼마나 효율적으로 사용하는지를 반영...
데이 트레이딩 암호화폐의 레버리지를 안전하게 최대화하는 방법은 무엇입니까?
2026-02-08 01:19:53
암호화폐 파생상품의 레버리지 메커니즘 이해 1. 레버리지는 거래자가 필요한 자본의 일부만으로 더 큰 포지션을 제어할 수 있도록 함으로써 잠재적 이익과 손실을 모두 배가시킵니다. 2. 대부분의 암호화폐 거래소는 자산 쌍 및 계정 확인 수준에 따라 2배에서 125배까지의 ...
스캘핑을 위한 "원클릭" 거래 인터페이스를 설정하는 방법은 무엇입니까?
2026-02-09 22:59:56
핵심 아키텍처 요구 사항 1. 50ms 미만 간격 내에 실시간 입찰 요청 업데이트를 수신하려면 거래소의 주문장 피드와 직접 지연 시간이 짧은 WebSocket 연결을 설정해야 합니다. 2. 인터페이스는 라우팅 지연을 초래하는 외부 백엔드 프록시에 대한 의존을 피하기 위...
주요 업그레이드 전후에 이더리움 선물을 거래하는 방법은 무엇입니까?
2026-02-08 09:40:26
이더리움 선물 메커니즘 이해 1. 이더리움 선물 계약은 CME 또는 바이낸스 선물과 같은 규제 거래소에서 미리 결정된 가격과 날짜에 ETH를 구매하거나 판매하기 위한 표준화된 계약입니다. 2. 레버리지는 중요한 역할을 합니다. 트레이더는 최소한의 자본으로 대규모 포지션...
대규모 계약 거래를 위한 높은 유동성 쌍을 찾는 방법은 무엇입니까?
2026-02-08 18:20:09
대규모 계약 거래를 위한 높은 유동성 쌍 찾기 대규모 계약 주문을 실행하는 트레이더는 하락과 가격 영향을 피하기 위해 유동성을 우선시해야 합니다. 유동성이 낮은 환경은 실행 위험을 증폭시킵니다. 특히 자금조달 요율과 베이시스 차이로 인해 변동성이 커지는 무기한 선물과 ...
청산을 방지하기 위해 "평균 가격"과 "종가"를 사용하는 방법은 무엇입니까?
2026-02-07 17:39:59
시장 평균 가격 메커니즘 이해 1. 시장 평균 가격은 무기한 계약의 공정한 시장 가치를 반영하도록 설계된 여러 현물 교환 지수와 펀딩 요율 조정에서 파생된 종합 가치입니다. 2. Binance, Coinbase, Kraken, Bybit 등 주요 현물 시장의 실시간 데...
레버리지 거래에서 "자본 수익률"(ROE)을 계산하는 방법은 무엇입니까?
2026-02-08 04:39:45
레버리지 거래의 자기자본수익률 이해 1. 레버리지 거래의 ROE(자기자본 수익률)는 전체 포지션 규모가 아닌 거래자의 자체 자본을 기준으로 창출된 수익성을 측정합니다. 이는 거래자가 거래소나 브로커로부터 자금을 빌릴 때 자신의 자산을 얼마나 효율적으로 사용하는지를 반영...
모든 기사 보기














