블럭체인 (13) 썸네일형 리스트형 rust - 카드 놀이 _ 2 위에 그림에서 내재적 구현을 사용하여 두가지 유형의 함수를 정의하는 하는 방법입니다. 함수에서는 동일한 구현 블록 내에서 정의할 수 있습니다. 메서드와 연관 함수를 정의 할 수 있습니다. 연관함수란? 거의 모든 다른 언어에서 클래스 메서드와 동일합니다. 첫번째 코드 에서는메서드의 정의: new 메서드는 Deck 구조체의 새로운 인스턴스를 생성하는 함수입니다. fn new() -> Self의 의미는 이 메서드가 Deck 타입의 인스턴스를 반환한다는 것입니다.호출 방식: Deck::new();는 구조체 이름을 통해 직접 호출하는 정적 메서드입니다. 이 메서드는 인스턴스가 필요 없기 때문에 self를 매개변수로 받지 않습니다.용도: 일반적으로 구조체의 생성자 역할을 하며, 초기화가 필요한 필드를 설정하.. rust - 카드 놀이 _ 1 (구조체) 구조체에 대해서 설명할려고 합니다. 구조체는 항상 대문자로 시작되는 변수을 제공해야합니다. 러스트에서는 배열을 가지고 있습니다. 정적이거나 동적일 수 있습니다. 또한 러스트에서는 변수로 부르지 않고 바인딩이라고 부릅니다. Dec가 새 바인딩을 선언하고 이를 변수라고 합니다. 이 타입 어노테이션은 이 바인딩이 참조할 값의 유형을 rust에 알려줍니다.따라서 여기에 콜론 데크를 선택적으로 입력할 수 있습니다.그러면 컴파일러가 이 바인딩이 덱 인스턴스를 참조할 것임을 100% 명확하게 알 수 있습니다. Deck이라는 구조체 작성 후 실행 시켜도록합니다. --> src/main.rs:8:38 |8 | println!("Heres your deck : {}", deck); | .. rust - 카드놀이 초기 설정 카드 놀이 시뮤레이션하는 간단한 프로그램을 만들 것입니다. 이 덱 객체 또는 우리가 만들려는 이 객체에는 세가지 기능이 있습니다. 새로운 덱 객체를 생성하기 위해 호출할 수 있는 함수를 만들고 싶어요.첫번째는 새로운 덱 객체를 만들 수 있는 함수를 만들고 싶습니다.두번째는 셔플과 같은 함수를 만들고 싶고, 이 함수는 덱에 있는 카드의 순서를 섞어야 합니다.세번째 딜이라는 함수를 만들고 싶습니다. 위에 있는 명령어로 cargo을 사용해서 프로젝트 만들 수 있습니다. rust - 설치 https://www.rust-lang.org/tools/install Install RustA language empowering everyone to build reliable and efficient software.www.rust-lang.org 위에 사이트에 rust 설치 하는 사이트 입니다. rustup을 볼 수 있는데 rustup은 rust을 버전 관리 도구 입니다. 이 도구를 사용하여 매우 쉽게 러스트를 설치하고 필요한 경우 다른 버전의 러스트간에 변경할 수 있습니다. 뜬금없이 Cargo가 볼 수 있는데 Cargo는 프로젝트를 관리하고, 프로젝트를 생성하고, 종속성을 설치하는 데 사용되는 별도의 도구 입니다. 터미널 재 시작 후 cargo --version을 입력하면 rust가 설.. campaign contract design 아래 그림처럼 계약서을 작성할려고 합니다 1. 주요 변수 관리자 변수이 변수는 캠페인을 관리하는 사람의 주소를 저장합니다.관리자(또는 매니저)는 캠페인의 소유자로, 다른 사람보다 높은 권한을 가집니다.이들은 접근할 수 없는 메서드에 접근할 수 있는 특권을 가집니다.최소 기부금:캠페인에 기부하기 위해 필요한 최소 금액을 설정합니다.승인자 배열:기부자들의 주소 목록을 저장합니다.이 배열은 최소 기부금에 맞춰 기부한 사람들의 목록으로, 요청을 승인하는 역할을 합니다.요청 배열:관리자가 생성한 지출 요청 목록을 저장합니다.이 배열은 계약의 핵심 요소로, 보안을 강화하는 장치 역할을 합니다.관리자는 돈을 사용하고 싶을 때 지출 요청서를 만들어야 합니다.2. 주요 기능 생성자 함수캠페인이라는 이름의 생성자 .. Ethereum and Solidity: The Complete Developer's Guide - 7장 이번 장에 설명할 계약은 복권입니다. 추첨 같은 개념입니다. 아래는 두명의 사람이 있다고 예로 듭니다 이 두 사람은 우리 계약서로 상당한 액수를 보낼 수 있습니다. 몇 명이 계약하거나 대회에 참가하면 우리가 매니저라고 부르는 제3의 인물이 계약서에 우승자를 뽑으라고 해요또한 한가지 분명히 하고 싶은 건 우승자를 뽑는게 매니저가 아니란거에요. 매니저가 계약서에 승자를 뽑으라고 했어요그때 계약서는 참가자 명단을 검토해요 여기 있는 두 플레이어 중 한 명을 선택해 전체 상금 중에서 우승자에게만 돈을 보내겁니다. 그 시점에서 복권 계약이 재설정되고 새로운 선수 명단을 받을 준비가 된 다음 그 과정을 반복하는 거죠기본적으로 자체 반복 계약으로 작은 복권이나 추첨 같은 걸 할 때 사용되는 거죠 계약 주변의 보안.. Ethereum and Solidity: The Complete Developer's Guide - 6장 이제 계약 소스인데 실제로 어떻게 배포 해야하는지 알아야 합니다. 배포에는 다양한 옵션이 있습니다. 계약 생성에 도움을 줄 수 잇는 명령어 도구인 트러플로 할 예정입니다 이제 새로운 프로젝트을 생성해서 만들어 볼려고 합니다. 프로젝트에서 파일 구조는 아래와 같습니다 Inbox.sol 파일 입니다pragma solidity ^0.4.17;// linter warnings (red underline) about pragma version can igonored!// contract code will go herecontract Inbox { string public message; function Inbox(string initialMessage) public { mess.. Ethereum and Solidity: The Complete Developer's Guide - 5장 가스에 대해서 설명할려고 합니다. gas는 동작을 사용하기 위한 연료 입니다. startGas / gasLimit연료 제한을 설정하는 이유는 이 함수를 호출하기 위해 이만큼의 연료만 지불할 의향이 있다는 겁니다 아래 예시로 알려드리겠습니다. 현재 gaslimit는 10 그럼 ADD , SUBTRACT, MULTIPLY 함수 동작 후 11가스 사용됩니다. gasLimit보다 많이 소모 하면 그 즉시 실행 기능이 취소됩니다. 또한 ADD , SUBTRACT만 동작 될 수 있다고 알려줍니다. 아래는 가스비 계산하는 공식 입니다 Ethereum and Solidity: The Complete Developer's Guide - 4장 https://remix.ethereum.org/#lang=en&optimize=false&runs=200&evmVersion=null&version=soljson-v0.4.17+commit.bdeb9e52.js&language=Solidity Remix - Ethereum IDE remix.ethereum.org위에 사이트로 이더리움 ide 사용할 계획입니다. 리믹스를 통해 느린 솔리디티가 어떻게 작용하는지 알아 볼려고 합니다. 위에 다이어 그램에서 contract 는 클래스라고 생각하면 됩니다. 또한 "contract Inbox" 안에 함수 Inbox은 이름이 같으면 생성자 취급이 됩니다. 계약이 처음 생성되면 자동으로 호출됩니다. 이름이 같지 않은 함수는 블록체인 배포 후 호출 가능합니다... Ethereum and Solidity: The Complete Developer's Guide - 3장 Smart Contract은 이더리움 블록체인에서 흥미로운 애플리케이션을 만드는데 사용합니다. 이 코드는 스마트 계약이 어떻게 해동해야 하는지 알려주죠 스마트 계약에 포함된 몇가지 다양한 속성에 관해 애기 해보죠 balance : 잔액있지만 계약 계좌도 있습니다storage : 작은 보관함 같은거에요 계약과 관련된 데이터를 저장하는 곳 우리가 만드려는 응용 프로그램과 관련 잇어요 code : 컴퓨터 수준의 코드 다른 사람들이 쉽게 읽기란 거의 불가능합니다 계약 은 항상 정확히 뭘 해야 하는지 좋은 생각을 갖고 있어요, 코드와 지시사항이 그 옆에 저장되니까요 계약 코드을 작성할 때 솔리디티을 이용해 계약 정의라는 작성 합니다. 솔리디티는 실제 프로그래밍 언어입니다 여러분과 제가 일고 상호 작용.. 이전 1 2 다음