본 게시글에서는 저서 '밑바닥부터 시작하는 비트코인'의 Python으로 작성된 예제 코드를 Go로 컨버팅 하여 작성하였습니다.📺시리즈2023.08.25 - [블록체인/Bitcoin] - 밑바닥부터 시작하는 비트코인 - 1장 유한체2023.08.27 - [블록체인/Bitcoin] - 밑바닥부터 시작하는 비트코인 - 2장 타원곡선2023.08.30 - [블록체인/Bitcoin] - 밑바닥부터 시작하는 비트코인 - 3장 타원곡선 암호2023.09.02 - [블록체인/Bitcoin] - 밑바닥부터 시작하는 비트코인 - 4장 직렬화2023.09.05 - [블록체인/Bitcoin] - 밑바닥부터 시작하는 비트코인 - 5장 트랜잭션2023.09.11 - [블록체인/Bitcoin] - 밑바닥부터 시작하는 비트코인 -..
1. 문제 아래 컨트랙트의 소유권을 탈취하라. // SPDX-License-Identifier: MIT pragma solidity ^0.8.0; contract Telephone { address public owner; constructor() { owner = msg.sender; } function changeOwner(address _owner) public { if (tx.origin != msg.sender) { owner = _owner; } } } 2. 해법 기름기 싹 빼고 해법만 간단하게 적겠습니다. 이번에도 3번 문제와 유사하게 Telephone 컨트랙트를 공격하는 Attack 컨트랙트를 작성하고 배포합니다. contract Attack { address public telephone..
본 게시글에서는 저서 '밑바닥부터 시작하는 비트코인'의 Python으로 작성된 예제 코드를 Go로 컨버팅 하여 작성하였습니다. 📺시리즈 2023.08.25 - [블록체인/Bitcoin] - 밑바닥부터 시작하는 비트코인 - 1장 유한체 2023.08.27 - [블록체인/Bitcoin] - 밑바닥부터 시작하는 비트코인 - 2장 타원곡선 2023.08.30 - [블록체인/Bitcoin] - 밑바닥부터 시작하는 비트코인 - 3장 타원곡선 암호 2023.09.02 - [블록체인/Bitcoin] - 밑바닥부터 시작하는 비트코인 - 4장 직렬화 2023.09.05 - [블록체인/Bitcoin] - 밑바닥부터 시작하는 비트코인 - 5장 트랜잭션 2023.09.11 - [블록체인/Bitcoin] - 밑바닥부터 시작하는 ..
1. 문제 초능력(?)을 사용해서 10번 연속으로 코인 뒤집기의 결과를 맞춰라. // SPDX-License-Identifier: MIT pragma solidity ^0.8.0; contract CoinFlip { uint256 public consecutiveWins; uint256 lastHash; uint256 FACTOR = 57896044618658097711785492504343953926634992332820282019728792003956564819968; constructor() { consecutiveWins = 0; } function flip(bool _guess) public returns (bool) { uint256 blockValue = uint256(blockhash(bl..
1. 문제 아래의 컨트랙트의 소유권을 탈취해라. // SPDX-License-Identifier: MIT pragma solidity ^0.6.0; import 'openzeppelin-contracts-06/math/SafeMath.sol'; contract Fallout { using SafeMath for uint256; mapping (address => uint) allocations; address payable public owner; /* constructor */ function Fal1out() public payable { owner = msg.sender; allocations[owner] = msg.value; } modifier onlyOwner { require( msg.sen..
1. 문제 아래의 컨트랙트 코드를 잘 살펴보고 다음의 문제를 해결하자. 1. 컨트랙트의 소유권을 탈취해라. 2. 컨트랙트의 이더 잔액(balance)을 0으로 만들어라. // SPDX-License-Identifier: MIT pragma solidity ^0.8.0; contract Fallback { mapping(address => uint) public contributions; address public owner; constructor() { owner = msg.sender; contributions[msg.sender] = 1000 * (1 ether); } modifier onlyOwner { require( msg.sender == owner, "caller is not the owne..
1. 지원되는 네트워크 선택 goerli는 조만간 비활성화되므로 polygon mumbai 또는 sepolia를 사용할 것을 권장합니다. 2. 새로운 인스턴스 생성 Get new instance 버튼을 클릭하여 새로운 인스턴스(스마트 컨트랙트)를 생성합니다. 이 인스턴스를 사용해 게임을 진행합니다. 3. 브라우저 콘솔창 열기 브라우저의 콘솔창을 열어 스마트 컨트랙트와 상호작용을 준비합니다. 상호작용에 앞서, contract.abi를 입력하여 어떤 메서드들이 있는지 확인할 수 있습니다. 4. 스마트 컨트랙트와 상호작용 먼저 contract.info()를 콘솔창에 입력합니다. 이때 반환되는 값이 Promise 이므로 await를 붙여야 바로바로 응답을 확인할 수 있습니다. 4-1. info 4-2. info..
Arbitrum stylus testnet faucet Arbitrum Stylus Testnet Faucet - Bware Labs Daily token allocation:15 Tokens claimed:2.1 Tokens left:12.900 Arbitrum Stylus Testnet Faucet Arbitrum is a L2 solution that enhances Ethereum's scalability by providing quicker transactions and lower costs, without compromising security. Stylus is an exc bwarelabs.com 네트워크 이름 Stylus testnet RPC URL https://stylus-testne..
노트북 포맷한 김에 작성하는 글. Terraform 설치 Install Terraform | Terraform | HashiCorp Developer Install Terraform on Mac, Linux, or Windows by downloading the binary or using a package manager (Homebrew or Chocolatey). Then create a Docker container locally by following a quick-start tutorial to check that Terraform installed correctly. developer.hashicorp.com $ sudo apt-get update && sudo apt-get install -..
gRPC 서버 Docker 이미지 빌드 FROM rust:latest as builder WORKDIR /app COPY . . RUN apt update && apt install -y protobuf-compiler RUN cargo build --release --bin server FROM debian:stable-slim RUN apt update \ && apt install -y libssl-dev ca-certificates \ && apt clean \ && rm -rf /var/lib/apt/lists/* COPY --from=builder /app/target/release/server /app/server CMD ["/app/server"] multistage build를 통해 1G..