일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- git
- erc721
- MySQL
- Ethereum
- truffle
- 솔리디티
- 블록체인
- 이더리움
- ERC165
- NFT
- blockchain
- erc
- github
- Programming
- solidity
- web3
- ethers
- tcp
- 네트워크
- Python
- server
- 트랜잭션
- Docker
- web3.js
- JavaScript
- web
- ERC20
- 제어의역전
- 스마트 컨트랙트
- geth
- Today
- Total
목록이더리움 (25)
멍개의 연구소
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bz7arU/btrKGxNnFmj/VCChYeB1vaMxZ6PKEZg6P0/img.png)
안녕하세요. 멍개입니다. abi-decoder 라이브러리를 이용하여 transaction에 포함된 inputData를 해석하는 방법을 다뤄보도록 하겠습니다. · abi-decoder 모듈설치 $ npm install --save abi-decoder npm을 이용하면 간단하게 설치할 수 있습니다. · abi 추출하기 transaction의 inputData를 디코딩하기 위해서는 해당 컨트랙트의 ABI가 필요합니다. pragma solidity 0.5; contract test { uint var1 = 10; string var2 = "hello world"; function setData(uint a, uint b, string memory c) public { var1 = a + b; var2 = c;..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/smLzD/btrKGOOPIbz/6Rxf6vdpiT2wFrtN33CJUK/img.png)
smart contract에 대해서 알아보도록 하겠습니다. 간단하게 smart contract의 생성원리를 알아보겠습니다. · 컨트랙트 배포 후 확인 transaction 정보를 보면 contract create라고 표시됩니다. 이더리움은 어떻게 contract 생성을 알고 contract create라고 표시하는지 알아보겠습니다. · contract 배포직후 transaction 확인 이더리움에서 컨트랙트가 배포할 때 일반적인 transaction과 다르게 to를 비워서 보냅니다. 또한, Input Data를 컨트랙트를 작성한 코드를 컴파일한 결과를 포함하여 보냅니다. 해당 트랜잭션을 처리하는 노드는 to가 비어있고 Input Data가 있으면, contract 생성을 하게됩니다. 이때 Contract..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/nX8pr/btrKGO2m9N4/f58Tvyuj7S3PScmpFPd0b0/img.png)
이번글에서는 solidity로 개발한 스마트 컨트랙트에서 다른 계정으로 이더를 전송하는 방법에 대해서 알아보겠습니다. 이번글도 0.5 버전을 기준으로 작성됩니다. 물론 이전 버전과 어떤 차이가 있는지도 함께 알아보겠습니다. 먼저, 컨트랙트에서 다른 계정으로 이더를 전송하기 위해서는 컨트랙트에서 이더를 보유하고 있어야 합니다. 즉, 다른 계정으로부터 이더를 전송받아야 하는데 전송 받는방법 부터 알아보겠습니다. · 이더 전송받는 방법 pragma solidity ^0.5; contract address05 { function () external payable{ } } solidity에서는 이름이 없는 함수를 fallback 함수라고 하는데 fallback 함수에 external과 payable 옵션을 붙여..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bW0EYN/btrKLabNUzR/7bBXWNDpmxr4ekK92Rk3E0/img.png)
solidity에서 call과 delegatecall에 대해서 다뤄보겠습니다. 우선 이번글은 solidity 0.5 버전 기준으로 합니다. call과 delegatecall은 0.5 버전 전, 후로 사용법이 바뀌었습니다. ● 샘플코드 먼저, call과 delegatecall을 사용한 sample 코드부터 확인하겠습니다. pragma solidity ^0.5; contract Sample1 { uint public t ; constructor() public { } event L(uint a, uint b, address c); function test(uint a, uint b) public returns(uint){ t = a + b; emit L(a, b, msg.sender); return a ..