본문 바로가기

전체 글

(44)
Flutter 공부 ( 2 ) Stateless 와 Stateful의 차이점 - Stateless Widget 화면이 로드될 때 한 번만 그려지는 State가 없는 위젯으로 변경이 필요한 Data가 없는 것을 의미하며 이벤트 또는 사용자 상호 작용에 의해 동작하지 않는다. ​ 예를 들어 지금 제작 중인 미소닭갈비 앱의 가게 안내, 메뉴 안내 화면처럼 사용자와 상호작용이 필요 없는 위젯 Stateless Widget으로 구성하면 된다. - Stateful Widget 위젯이 동작하는 동안 Data 변경이 필요한 경우 화면을 다시 그려서 변경된 부분을 위젯에 반영하는 동적인 위젯으로 이벤트 또는 사용자 상호 작용에 의해 동작한다. ​ 예를 들어 지금 제작 중인 미소 닭갈비 앱의 하단 탭 화면과 같이 탭 클릭에 따라 트리거를 처리하여 페이..
Flutter 공부 ( 1 ) stless라고 치면 기본 세팅구조가 나옴 위젯 기본 4가지 Icon, Image, Text, Container(SizedBox) home : Image.asset('경로') pibspec.yaml : 앱 만들때 필요한 모든 자료들 MaterialApp ?? 자신만의 커스터마이징으로 할 수 있는 것?? Scaffold?? : 스마트폰 화면을 상중하로 나눌 수 있게 도와주는 위젯 상단 : appBar 중단 : body 하단 : body에서 child를 하나가 아닌 여러개를 사용하고 싶을 때 Row 위젯을 사용한다 Row의 하위 속성으로는 children이 있어서 []를 사용해서 내용을 집어넣으면 가로로 배치할 수 있다. return MaterialApp( home: Scaffold( body: Row( c..
[ Layer 2 ] zkSync 테스트넷 구현하기 zkSync는 이더리움 Layer 솔루션2이다. Layer 2는 이더리움의 네트워크 트래픽 혼잡을 해결해주고, 개선하기 위해 Matter Labs가 개발하는 솔루션, zk-롤업 플랫폼이다. 1. zkSync의 주요 특징으로는 낮은 송금 수수료를 보장하고 이더리움 메인넷에 상주하고 있기 때문에 메인넷 수준의 보안으로 유저가 자금을 완전하게 컨트롤 할 수 있다. 2. 이 프로토콜은 ETH 및 ERC20 토큰 전송에 있어서 즉각적으로 확인할 수 있고, 10분의 허용시간을 제공해준다. 간단히 말해서 사용자는 자신의 ETH 또는 ERC20 토큰을 이더리움의 zkSync로 스마트 컨트랙트를 보낼 수 있으며, zkSync는 사용자들에게 받은 토큰의 자산을k 안전하게 보장해준다. 디렉토리를 새로 만들어주고 packag..
[Ethereum/이더리움] Truffle 이용해서 스마트 컨트랙트 배포 이번 블로그에서는 Truffle을 이용해서 이더리움 네트워크에 스마트 컨트랙트를 배포하고 사용하는 것을 해볼 것이다. Truffle ? Truffle은 이더리움 스마트 컨트랙트를 만드는 개발 언어인 solidity를 컴파일하고 이더리움 네트워크에 배포할 수 있으며 사용까지 할 수 있게 테스트해주는 개발 환경 프로그램입니다. -> 디앱을 쉽게 개발할 수 있도록 도와주는 블록체인 프레임워크. 먼저 Truffle을 설치하는 과정을 가져보자. Truffle이라는 새로운 디렉토리를 만들고 명령어를 이용해서 설치하도록 하자. npm init -y npm install -g truffle 추가로 우리는 웹페이지를 통해 화면을 나타내는 작업을 할 것이기 때문에 front 디렉토리를 새로 만들어서 react를 설치하도록..
[Solidity/Smart Contract] 솔리디티를 이용한 Smart Contract 배포 이번 블로그에서는 솔리디티 언어를 이용해서 Smart Contract를 배포하는 과정을 해볼 것이다. 먼저 우선적으로 간단한 스마트 컨트랙트의 코드를 솔리디티 언어를 이용해서 만들고, 이를 이더리움 네트워크 안에 트랜잭션을 이용해서 넣은 다음, 네트워크 상에서 이를 실행해보도록 할 것이다. 솔리디티 스마트 컨트랙트 솔리디티 언어를 이용해서 스마트 컨트랙트 코드 만들기 이더리움 네트워크와 연결 후 배포 1. 솔리디티( Solidity )란? 솔리디티는 이더리움 등 블록체인 플랫폼에서 스마트 계약 작성과 구현에 사용되는 계약 지향 프로그래밍 언어이다. 솔리디티는 이더리움 핵심 기여자들에 의해 이더리움과 같은 블록체인 플랫폼상에 스마트 계약을 작성할 수 있도록 개발되었다. 2. 스마트 컨트랙트( Smart C..
[Ethereum/이더리움] 메타마스크 연결하기 이번에는 DApp를 만들기 위한 기초 작업을 진행하려고 한다. 구글 Chrome 확상 프로그램에서 메타마스크를 설치하고 우리가 직접 만든 웹사이트와 메타마스크를 연결하는 작업을 진행해보도록 하자. 여기서 잠깐, DApp이 무엇인가? DApp DApp (DApp, Decentrailzed Application) 이란 탈중앙화 애플리케이션의 약자로 탈중앙화된 블록체인 플랫폼을 기반으로 작동하는 압을 말한다. 예를 들어 안드로이드 같은 스마트폰 운영체제가 이더리움과 같은 '플랫폼'이라면 안드로이드용 스마트폰 앱이 디앱이라고 할 수 있다. 기존의 '중앙화 어플리케이션'에서는 중앙 서버의 데이터베이스에 정보를 저장하고, 그 운용 역시 중앙 서버를 통해 이루어져 있다. 하지만 디앱에는 중앙 서버 없이 서버가 가졌던..
[Ethereum/이더리움] Web3 이번 글에서는 이더리움 클라이언트에게 요청을 보낼 때 이용할 수 있는 라이브러리인 Web3에 대해서 알아볼 것이다. Web3 라이브러리를 공부하기에 앞서 블록체인 네트워크 상에서 노드 간에 통신을 할 때 사용하는 RPC에 대해 먼저 알아보도록 하자. 목차 RPC Web3 라이브러리 간단한 작업을 통한 Web3 기본 메소드 사용 1. RPC RPC란 원격 프로시저 호출 ( Remote procedure call ) 이라고 부르며 별도의 원격 제어를 위한 코딩 없이 다른 주소 공간에서 함수나 프로시저를 실행할 수 있게하는 프로세스 간 통신 기술이다. 일반적으로 프로세서는 자신의 로컬 위치에서만 존재하는 함수만 호출하여 실행이 가능하지만 RPC를 사용할 경우 자신의 로컬뿐만 아니라 다른 주소 공간에서도 프로세..
[Ethereum/이더리움] WSL2 개발 환경설정 (윈도우) 이더리움의 개발 공부를 위해서 WSL2에 이더리움 개발 환경설정을 하고자 한다. 1. Go 설치하기 먼저 오픈소스로 공개되어있는 Geth ( go-Ethereum )를 사용해서 이더리움 개발공부를 할려고 한다. Geth는 깃허브에 오픈소스로 올려져있으니 깃 클론으로 받으면 된다. Geth란 Go 언어로 만들어진 이더리움 클라이언트 소프트웨어를 뜻하기 때문에 우리는 먼저 Go 언어를 WSL2에서 설치해줘야 한다. sudo apt update sudo apt install golang Go 설치가 완료가 되었다면, Geth를 실행하기 위해 다음의 내용도 추가로 설치하도록 하자. sudo apt install -y libgmp3-dev tree make build-essential 여기까지 설치가 완료되었다면..