본문 바로가기

전체 글89

[Xcode Error] does not contain bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target. IOS 테스트 플라이트를 위해 Archive작업을 하던 중 애러가 났네요. Showing Recent Messages '/Users/choiwonhyeok/Library/Developer/Xcode/DerivedData/KingAzitApp-ahkyjxeldpvguzfaxmlxpxiafvms/Build/Intermediates.noindex/ArchiveIntermediates /KingAzitApp/BuildProductsPath/Release-iphoneos/XCFrameworkIntermediates/FirebaseAnalytics/AdIdSupport /FirebaseAnalytics.framework/FirebaseAnalytics(FIRAEvent.o)' does not contain bitc.. 2023. 4. 27.
[LINUX] 리눅스 폴더 & 파일 생성 / 삭제 # 1. 리눅스 폴더(디렉토리 생성) ls : 해당 폴더(디렉토리)의 목록 확인 cd : 경로 이동 > mkdir 폴더명 // -p : 폴더 내부에 하위 파일 생성 > mkdir -p 폴더명/파일명 # 2. 리눅스 파일 생성 > touch 파일명 # 3. 리눅스 파일 삭제 ls로 현재 디렉토리에 text.txt 파일이 있었는데, rm -rf로 파일을 삭제한 후, 디렉토리에 아무것도 없는 모습 > rm 파일명 // -r : rm 명령어로 폴더 삭제하는 경우 > rm -r 폴더명 // -rf : 사용자에게 삭제 여부를 묻지 않고 바로 삭제 > rm -rf 파일 or 폴더명 ** 디렉토리를 삭제할 경우, 하위 디렉토리와 파일까지 삭제되므로 유의 ** # 4. 리눅스 폴더 삭제 ls로 현재 디렉토리에 folde.. 2023. 4. 22.
[React Native] Debounce를 활용한 검색창 & 자동완성 구현하기 || Typescript | Flatlist || 안녕하세요. 개발의 체질 최원혁입니다. 이번 게시글에서는 앱 개발을 할때 검색창과 자동완성 기능을 구현하는 방법에 대해 알아보겠습니다. 📌전체 코드는 게시글 하단에 Github주소를 남겨 두겠습니다!~! # 1. 변수 설정 interface ISearchData { cityname:string; id:string; } const [loading, setLoading] = useState(true); const [list, setList] = useState([]); const [keyword, setKeyword] = useState(''); loading : 검색 시, UI상에 보여지는 로딩 아이콘 On/Off list : 검색어가 포함된 데이터 리스트 keyword : 검색 키워드 # 2. 검색 창(.. 2023. 4. 20.
[Wallet Series #2] 메타마스크의 window.ethereum는 어디서 왔을까? 안녕하세요. 스마트컨트렉트 개발자 최원혁입니다. 어제 다녀온 블록체인 회사에 면접을 보고 왔습니다. 주요 업무가 wallet 개발이다 보니 지갑 개발에 관련된 질문을 많이 받았습니다. 받았던 질문 중에서 메타마스크의 window.ethereum은 어떻게 생긴 데이터인지 질문을 받았습니다. 당시에 대답을 논리 정연하게 하지 못해 아쉬운 마음이 많아 이번 게시글을 통해 내용을 논리적으로 정리해 볼까 합니다. # 1. window 객체? feat. 프로퍼티(Property)메타마스크의 window.ethereum을 이해하기 전, 앞에 붙어 있는 window가 무엇인지에 대해 먼저 이해할 필요가 있습니다.Window 객체 : 자바스크립트의 모든 객체, 전역 함수, 전역 변수들은 자동으로 window 객체의 프로.. 2023. 4. 13.
[Wallet Series #1]이더리움의 디지털 서명과 타원곡선 함수 안녕하세요. 스마트컨트렉트 개발자 최원혁입니다. 오늘 블록체인 회사 면접을 보고왔습니다. 스스로 많이 부족한 점을 느낄 수 있었던 계기가 됬네요... 기술 질문에서 답변하지 못하거나 논리정연하게 답하지 못한 내용이 있습니다. 그중 하나가 solidity의 ecrecover에 대한 내용이였습니다. 이를 이해하기 위해선 이더리움이 활용하는 디지털 서명과 타원 곡선 함수에 대한 이해가 필요했습니다. 오늘 공부하면서 정리한 내용을 적어볼까합니다. # 1. 디지털 서명 이란? 디지털 서명이란 내가 만든 데이터를 내가 만들었음을 증명하는 기술입니다. EXAMPLE : { nonce: ‘0xc9’, gasPrice: ‘0x4a817c800’, gasLimit: ‘0x61a80’, from:'영애', to: '철수',.. 2023. 4. 11.
[Rollup Series #2] 이더리움의 롤업을 위한 댕크샤딩 & PBS 안녕하세요. 스마트컨트렉트 개발자 최원혁입니다. 오늘은 크립토씬에서 가장 핫한 키워드인 "롤업"에 대한 내용과 롤업을 위한 이더리움의 기술 댕크샤딩에 대해 알아보겠습니다. | 이더리움 현재 로드맵과 The Surge : 1) The Merge — 작업 증명 이더리움과 비콘 체인의 합병(merge)을 통해 이더리움을 지분증명으로 전환하고, 이는 앞으로의 확장성 개선 로드맵에 초석이 된다. 2) The Surge — 롤업들의 트랜잭션 데이터 저장 공간을 위한 블롭(blob)이 추가되는 댕크샤딩이 도입되며, 롤업 네트워크들에게 충분한 데이터 가용성을 제공한다. 3) The Verge — 머클트리 대신 버클트리를 도입하여, 노드들이 state 정보를 저장하지 않은 상태에서도 블록을 검증할 수 있게 한다. 이는 .. 2023. 4. 6.
[RollUp Series #1] 레이어2와 사이드체인의 차이점 안녕하세요. 스마트컨트렉트 개발자 최원혁입니다. 오늘은 롤업 시리즈 1편으로, 레이어2와 사이드체인의 차이점에 대해 다뤄보겠습니다. | 레이어2와 사이드체인의 차이점 ○ 레이어2 : 레이어(Layer)는 "층"이라는 뜻으로 레이어 2는 "2층"을 의미합니다. "1층"인 레이어1이 문제가 생기거나 무너진다면, 레이어2 또한 더이상 동작할 수 없게 되는 구조이기에, "레이어"라는 표현을 씁니다. 이 처럼 레이어1에 영향을 받은 존재는 레이어2(L2)라 부릅니다. ○ 사이드 체인 : 사이드체인은 메인넷과 서로 다른 블록체인 위에 존재합니다. 사이드체인에 문제가 생기거나 해킹을 당해도 메인넷에 영향을 주지 않습니다. 이처럼 이 둘의 차이는 "독립성"입니다. 이렇게 분리된 이유는 기존의 레이어1이 가진 "속도"문.. 2023. 4. 3.
[Hack Series] 플래시론 공격에 의한 DKP 토큰 가격 조작 해킹 분석 안녕하세요. 스마트 컨트렉트 개발자 개발이 체질의 최원혁입니다. 2023년 2월 8일 BSC 체인의 DKP 토큰이 공격을 받았습니다. PancakeSwap에 유동성이 공급되있던 DKP 토큰은 공격자의 플래시론에 의해 가격이 조작되어, 공격자는 약 $80,000의 이익을 얻었습니다. 이번 Hack Series는 QuillAudits의 분석 보고를 참고하여 공격자의 공격 패턴과 방법에대해 알아보겠습니다. | 공격 시나리오 : 공격자 주소 :0xF38B677fa6E9E51338D0c32FD21afe43406E06Df 공격자 컨트렉트(1) : 0xf34ad6cea329f62f4516ffe00317ab09d934fba3 공격 자금 트랜잭션 :https://bscscan.com/tx/0x4e5b2b6e9f033e6.. 2023. 3. 24.
[Hack Series] 접근 제어 취약점 SwapX Protocol 해킹 분석 안녕하세요. 스마트 컨트렉트 개발자 개발이 체질의 최원혁입니다. 2023년 2월 27일 BSC 체인의 Dapp SwapX 프로토콜에서 해킹 공격으로 인해 약 100만달러의 손실을 입은 사건이 발생했습니다. 이번 Web3 Hack 시리즈는 공격자가 EVM기반의 Dapp SwapX 프로토콜의 어떤 취약점을 노렸는지, 해킹 공격에 대한 내용을 분석해보겠습니다. 공격 시나리오 : (1) 먼저 공격자는 PancakeSwap Router를 통해 0.0581BNB를 100만 DND 토큰으로 교환했습니다. 공격자의 PancakeSwap 트랜잭션(0.0581BNB -> 100M DND ): 0xf3a5d3 (2)이후 피해자는 SwapX의 0x4f1f05bc 함수를 반복하여 호출합니다. 이때 약 238개의 Token Tr.. 2023. 3. 16.
반응형