일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- solidity
- keras
- python
- Redis
- 마스터링비트코인
- 개인키
- node js
- 이더리움
- 문자열
- pythonic
- 레디스
- 암호화폐
- 마스터링 비트코인
- smart contract
- 백서
- 솔리디티
- 마스터링 이더리움
- 스마트컨트랙트
- 주소
- 블록체인개발
- 파이썬
- 블록체인
- 비트코인
- 알고리즘
- Ethereum
- 공개키
- DAPP
- js
- 개발
- javascript
- Today
- Total
목록블록체인 /블록체인 개발 (6)
개발이야기
보통 메타마스크가 설치되어 있는 브라우저에서 web3를 사용할 때 아래와 같이 코드를 작성합니다. window.addEventListener('load', () => { // Checking if Web3 has been injected by the browser (Mist/MetaMask) if (typeof web3 !== 'undefined') { // Use Mist/MetaMask's provider web3js = new Web3(web3.currentProvider); } else { console.log('No web3? You should consider trying MetaMask!'); // fallback - use your fallback strategy (local node / ..
How to convert string to bytes32 ? 어떻게 string 타입을 bytes32로 변환할 수 있을까. (web3 내에서)이 질문에 대한 구글링 결과 많은 솔루션들이 있었다. 그 중에 하나가 web3.utils.fromAscii(text)이다. 하지만 에러가 발생하였는데 에러는 다음과 같았다. "Invalid bytes32 value" 아니 bytes32로 변환시켜준다면서 bytes32가 아니라니 !!! 추후에 알고보니 문제는 0으로 팬딩이 되지 않는것이었다. 스택오버플로우에서는 해당 솔루션으로 문제를 해결했다고 하는데 어떻게 해결되었는지 궁금하다. 0을 수동으로 팬딩해주는 방법도 생각했지만, 길이의 가변성을 일일히 막기는 귀찮다고 생각하였다.그래서 함수를 제공해주는 패키지를 찾아봤..
안녕하세요. 이번 포스팅에서는 스마트 컨트랙트로 작성된 view 함수에 반환값을 Web3.js로 불러오는 코드를 구현해보도록 하겠습니다. OS : Windownode js : 10.15.0npm : 6.5.0Solidity IDE : Remix 먼저 간단한 스마트컨트랙트 코드를 작성해줍니다. 간단하게 코드 설명을 해보겠습니다.set_data 에서는 index 값을 새롭게 설정해줍니다. get_data 함수에서는 현재 index 값을 반환해줍니다.view 함수는 state를 바꾸지 않고 트랜잭션을 사용하지 않기 때문에 가스 소모가 없습니다.그렇기 때문에 값을 반환하고 보여주는 용도로 Dapp 개발을 할 때 굉장히 유용하게 사용됩니다. 코드 완성후 컴파일이 완료되면 해당 스마트 컨트랙트를 배포해줍니다. (저..
블록체인 개발, 특히 이더리움 네트워크를 사용해서 블록체인 개발을 할 때 반드시 필요한 Web3.js는 과연 무엇일까요.이더리움 네트워크를 포함한 블록체인 네트워크는 노드로 구성되어 있고, 각 노드들은 블록체인에 대한 복사본을 가지고 있습니다.특히 이더리움 네트워크 상에서 여러분이 스마트 컨트랙트의 함수를 실행하려고 하면 노드들에게 query를 보내 아래의 내용을 전달해야 합니다.1. 스마트 컨트랙트의 주소2. 실행하고자 하는 함수3. 함수에 전달하고자 하는 변수들 이더리움 노드들은 JSON-RPC라고 불리는 언어로만 소통을 합니다. 이 언어는 사람이 읽기는 불편하죠. 컨트랙트의 함수를 실행하고 싶다는 query는 아래와 같습니다. {"jsonrpc":"2.0","method":"eth_sendTrans..
안녕하세요. 이번 블록체인 개발 포스팅에서는 이더리움 기반의 DApp 개발을 위한 기본적인 환경 구축을 하는 방법에 대해 설명해보고자 합니다. 설치는 Window 운영체제에서 진행합니다. DApp 개발에 필요한 환경 구축하기 - Window 운영체제 - 코드 편집기로는 visual studio code 사용 - geth, ganache, node js & npm, truffle, metamask 설치 1. Geth 설치 go-ethereum의 약자로 이더리움의 전체기능을 사용할 수 있는 풀 클라이언트로서 다양한 인터페이스를 사용할 수 있습니다. 1) https://geth.ethereum.org/downloads/ 에서 설치파일 다운받기2) 설치 진행하기 I Agree를 눌러 계속 진행해줍니다. 설치 중..
이번 포스팅은 https://hackernoon.com/learn-blockchains-by-building-one-117428612f46 을 바탕으로 작성하였습니다. 또한 이번 포스팅에서 사용하는 코드는 https://github.com/dvf/blockchain/blob/master/blockchain.py 에서 확인할 수 있습니다. new_block먼저 블록체인을 구성하는 새로운 블록이 어떻게 생성되는지 확인해보자. 코드에서 블록 정보를 담는 block 변수를 자세하게 살펴보자. 코드를 통해서 알 수 있듯이 블록에는 index, timestamp, transactions, proof, previous_hash 변수가 포함되어 있다. index는 블록의 인덱스값 , 즉 몇 번째 블록인지 알려주는 변수..