| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- redux toolkit 설명
- cloud hsm
- 스마트컨트렉트 함수이름 중복 호출
- Vue.js
- 컨트렉트 동일한 함수이름 호출
- 스마트 컨트렉트 함수이름 중복
- rust 기초
- ethers typescript
- 러스트기초
- ethers websocket
- SBT표준
- 계정추상화
- 체인의정석
- vue기초
- 머신러닝기초
- 스마트컨트렉트 예약어 함수이름 중복
- ethers v6
- 러스트 기초
- 러스트 기초 학습
- erc4337
- 오블완
- Vue
- cloud hsm 서명
- redux 기초
- erc4337 contract
- ethers type
- cloud hsm 사용하기
- ambiguous function description
- 티스토리챌린지
- git rebase
- Today
- Total
목록분류 전체보기 (531)
체인의정석
1. 파일 첨부기능 다음과 같이 파일을 올릴시 파일의 해시값을 바로 보여주는 기능을 연결하였다. 일단 이 기능을 하고 난 후 블록체인에 저장버튼을 양쪽 사용자가 같이 누르게 되면 DB값을 변화시켜 블록체인에 저장시키게 만드는 식으로 개발할 예정이다. $("#contract").change(function(e){ e.preventDefault() if($("#contract").val()){ let form = $("#add_board")[0]; console.log("form",form); let formData = new FormData(form); console.log("formData",formData); // formData.append("bidx",$("#bidx").val()) $.ajax({..
1. 정보 조회해오는 화면을 2개로 안만들고 1개로 만든 후 상황에 따라서 다르게 뜨게 만들어 가는 중이므로, append가 연속해서 일어나는 오류가 일어났다. 이를 해결하기 위해 $("#contract_view_check").val("Y");를 추가하여 해결하였다. 서버사이드 function getboardInfo(args){ console.log("getboardInfo",args); $.ajax({ type: "POST", url : 'tech/getboardInfo', data : {"bidx" :args.item.board_idx}, success: function(r){ if(r.success){ console.log("응답",r) let board_idx = r.data[0].board_id..
1. 스마트 컨트렉트 파일의 해시값을 저장하고 불러오는 간단한 기능이다. 이때, 한번 저장된 인덱스로는 다시 저장되지 않게 조건을 걸어두었다. pragma solidity >=0.4.22 Patents) public filesaved; event Savefile(address sender, string filehash); function _savefile(string memory _filehash, uint board_idx) internal { require(filesaved[board_idx].isFirst == false); filesaved[board_idx].filehash = _filehash; filesaved[board_idx].isFirst = true; emit Savefile(msg...
1. 일단 게시판에 첨부파일을 읽어오기 위한 공간 부터 만들어 준다. 저장된 파일* 2. 해당 파일에 대한 정보는 multipart를 사용하면 name , route로 나뉘어서 DB에 저장할 수 있다. route 경로 안에 실제 데이터를 저장시키고 그 경로를 href를 통해서 변수로서 넣게되면 첨부파일을 다운로드 하는 기능을 만들 수 있다. function getboardInfo(args){ console.log("getboardInfo",args); $.ajax({ type: "POST", url : 'tech/getboardInfo', data : {"bidx" :args.item.board_idx}, success: function(r){ if(r.success){ console.log("응답",r..
1. 부트스트랩 홈페이지에서 사이즈 등을 조정할 수 있다. 사이즈는 css를 조정하기 보다 부트스트랩의 class를 이용하여 잘 맞추어주면 된다. getbootstrap.com/docs/5.0/forms/form-control/#file-input Form controls Give textual form controls like s and s an upgrade with custom styles, sizing, focus states, and more. getbootstrap.com 2. 다음과 같이 포멧을 맞추어서 수정하였다. 글쓰기 × 게시글 종류* 거래이력 계약서 게시글 제목* 게시글 내용* 계약서* 해시값* 닫기 저장 3. 결과 화면 4. show hide를 이용하여 상황별로 모달을 다르게 띄우게..
1. 박스에서 옵션을 선택하면 각각 다른 화면이 나와야 하는 상황 거래이력 계약서 두 옵션을 두고 선택했을 때 각각 다른 화면이 나와야 한다. 2. 기본 화면이 아닌 부분을 div로 묶어준 후에 안보이게 설정해 준다. 안보일 부분에 해당하는 부분은 블록체인에서 정보를 기록하고 조회해오고 DB와 비교를 하는 부분이다. 계약서* 파일의 해시값* ether scan* Blockchain Hash* 스마트컨트랙트에서 불러온 값이 기록될 곳 3. 해당 부분을 계약서 작성을 클릭할때만 show를 시켜주면 된다. $("#board_mode").change(function(){ if($("#board_mode").val()=="board"){ alert("거래이력 작성!") $("#contract_display").h..
1. 서버 접속정보는 env 파일로 빼두기 서버의 경우 local - dev -test - product 식으로 여러 단계로 분리해서 나누어서 관리해야한다. 물론 간단한 해커톤의 경우 그렇게 까지 나누지 않지만 특히 블록체인 프로젝트에서는 infura의 endpoint나 apikey 운영자의 wallet 프라이빗키 등을 그냥 두면 깃허브에 올릴때도 불편하기 때문에 git ignore에 env를 넣어주고 해당 파일 안에 접속정보 및 블록체인모듈에 필요한 정보들을 넣어둔다. cross env를 넣어준다. 그리고 접속정보는 config 폴더 안에 CommonConfig를 두어서 공통설정값으로 넣어둔다. 블록체인을 쓴다면 해당 config도 추가해주어야 한다. 실제 프로젝트에서는 env파일을 통해 메인넷 테스트..
1차 예선을 통과하여 웹어플리케이션 구현 1. aquery tool을 활용한 DB생성 머리로 계속 상황을 생각해가며 그리는게 은근히 재밌습니다 ㅎㅎㅎ 2. 클라우드에 인스턴스 생성 후 DB 생성, 설치는 하단 링크 참고 dejavuqa.tistory.com/317 mysql 설치 와 기본 설정 (on Ubuntu) Ubuntu에 mysql을 설치해 보겠습니다. 언제나 그렇듯이 Ubuntu 버전부터 살펴보겠습니다. $ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 18.04.2 LTS Release: 18... dejavuqa.tistory.com 3. 외부 접속 허용 시켜주기 -> 오류가 나서 ..