과학자의 방법으로 NFT를 스냅하는 방법은 무엇입니까?
원본 소스: 거울
원본 소스: 거울
첫 번째 레벨 제목
NFT 구매 프로세스

간단히 말해서 구매 과정은 지갑과 NFT 컨트랙트 간의 상호 작용입니다. 지갑에서 컨트랙트로 0.176ETH를 전송합니다. 컨트랙트의 민트 메소드를 호출한 후 2개의 NFT 토큰이 생성되고 토큰이 전송됩니다. 당신은 이 NFT를 얻습니다.
NFT 계약 내용은 다음 문서를 참조하십시오.첫 번째 레벨 제목
NFT 구매 프로세스에 대한 자세한 설명
이미지 설명

NFT 구매 프로세스
1. 민트 버튼 클릭
모두가 프로젝트 웹 사이트에 로그인하고 Chrome에서 지갑을 연결하고 민트 버튼을 클릭합니다. 웹 페이지의 JavaScript 코드는 주로 다음 키 필드를 포함하여 프로젝트의 민트 가격, 계약 주소 등을 기반으로 원시 트랜잭션 데이터를 생성합니다.
nonce: nonce,
gasLimit: '21000',
maxFeePerGas: '300',
maxPriorityFeePerGas: '10',
to: '0x198478f870d97d62d640368d111b979d7ca3c38f',
value: '176000000000000000',
data: '0xa0712d680000000000000000000000
000000000000000000000000000000000000000002'
gasLimit– 트랜잭션이 소비할 수 있는 최대 Gas 양. 유닛 그웨이
to – 수신 주소(여기에 NFT의 계약 주소가 있으며 거래는 계약 코드를 실행할 것입니다)
nonce – 계정에서 실행된 총 거래 수를 추적하는 데 사용됩니다.
value – 전송된 ETH의 양(WEI에서 NFT를 구매하기 위한 0.176 ETH)
data– 컨트랙트와 상호 작용하고, 민트 기능을 예약하고, 민트의 수는 2입니다.
Function: mint(uint256 tokenQuantity)
MethodID: 0xa0712d68
[0]: 00000000000000000000000000000
00000000000000000000000000000000002
maxPriorityFeePerGas- 채굴자 팁으로 포함할 최대 가스량
maxFeePerGas- 트랜잭션에 대해 지불할 의사가 있는 최대 가스량
2. TX 서명
웹 페이지 코드는 Metamask와 상호 작용하고 거래를 확인할 수 있는 창이 나타납니다. 확인을 클릭하면 Metamask는 지갑 개인 키를 사용하여 거래가 승인되었는지 확인하고 후속 이더리움 네트워크에서 이를 확인합니다.
3. 검증을 위해 TX를 노드로 전송
트랜잭션 TX는 메타마스크가 메타마스크의 이더리움 노드(기본 구성)로 전송하고 노드는 트랜잭션이 위조되지 않았는지 확인하기 위해 TX를 확인합니다.
4. 이더리움 네트워크에 브로드캐스트 TX
트랜잭션 TX는 이더리움 네트워크의 인접 노드로 전송된 다음 인접 노드로 브로드캐스팅됩니다. 현재 거래는 etherscan.io에서 볼 수 있으며 상태는 보류 중입니다.
5. 채굴자 노드가 TX 수신
이미지 설명

Txpool 코드 흐름(Ethereum 소스 코드 분석의 txpool 다이어그램에서 차용)
Txpool데이터 소스는 주로 다음에서 가져옵니다.
현지 제출즉, 로컬 이더리움 노드의 RPC 서비스를 호출하여 제3자 애플리케이션이 제출한 트랜잭션입니다.
원격 동기화, 브로드캐스트 동기화 형식을 통해 다른 이더리움 노드의 트랜잭션 데이터를 로컬 노드에 동기화하는 것을 말합니다.
Txpool은 Queue와 Pending의 두 가지 Queue로 나뉘는데, 먼저 새로 수신한 TX를 규칙에 따라 판단하여 Queue Queue에 넣고, 새로운 블록을 추가하기 위해 마이닝을 기다리기 위해 Pending Queue를 추가합니다.
주요 규칙은 다음과 같습니다.
1) Gasprice가 높은 TX 우선순위 지정
2) 로컬 TX 우선 처리, 너무 원격 동기화
3) 각 노드는 최소 Gasprice를 설정하고 이 값 미만의 원격 TX는 폐기됩니다.
Pending의 TX는 마이닝을 위해 Miner 모듈에 의해 획득 및 확인되며, 마이닝 성공 후 블록에 기록되고 브로드캐스트됩니다. 채굴자가 트랜잭션을 가져가면 복사본이고 Txpool의 TX는 줄어들지 않습니다. TX는 체인에 기록된 후에만 Txpool에서 삭제됩니다.
Gas가 너무 적은 TX는 Txpool에 갇혀서 처리할 수 없으므로 처리할 수 있도록 Gas를 늘려야 합니다.
자세한 코드 분석은 다음을 참조할 수 있습니다.이더리움 소스코드 분석의 txpool
GasWar: 뜨거운 트랜잭션이 발생하면 모든 사람이 자신의 TX에 우선 순위를 두고 Gas Fee를 높이기 위해 경쟁할 수 있습니다.
6. 채굴자의 블록 TX가 패키징된다.
채굴자들은 TX를 선택한 후 채굴을 시작하고 블록 솔루션을 찾아 이더리움 네트워크에 브로드캐스팅합니다.
7. 블록 검증
다른 채굴자 노드에 의해 확인된 후 블록이 공식적으로 체인에 업로드되고 우리의 TX 결과는 etherscan.io에서 볼 수 있습니다.
8. TX 상태 동기화
관련 상태는 로컬로 반환되며 Metamask에서 쿼리할 수 있습니다.
첫 번째 레벨 제목
Life Cycle of an Ethereum Transaction
Transaction lifecycle on the Ethereum blockchain
The Influence Factors on Ethereum Transaction Fees
계약 실행 방법
간단히 말해, 우리가 보내는 트랜잭션은 Message 개체로 변환되어 EVM으로 전달되고 EVM은 후속 실행을 위해 Message를 기반으로 Contract 개체를 생성합니다. mint 함수는 우리가 계약으로 전송한 데이터의 입력을 기반으로 호출됩니다.
자세한 내용은 EVM 소개를 참조하고 다음 문서를 참조하십시오.
NFT 사전 판매 및 공개 판매
프리세일은 특정 사용자만 구매할 수 있으며, 퍼블릭세일은 누구나 스냅샷을 할 수 있다는 의미입니다.
여기에 답해야 할 두 가지 주요 기술 질문이 있습니다.
1. 특정 지갑을 민트로 제한하는 방법은 무엇입니까?
첫 번째 레벨 제목
화이트리스트 메커니즘
화이트리스트는 이제 일반적으로 Merkle 트리를 사용하여 구현됩니다. 간단히 말해서 모든 화이트리스트 지갑 주소는 루트 해시를 생성하기 위해 Merkle 트리의 리프 노드로 사용됩니다. 컨트랙트에는 Root hash 값만 저장하면 되는데 mint 함수를 호출하면 웹페이지의 JS code가 지갑주소(주소의 상위 부모노드의 hash)를 기반으로 증명을 생성하고, 계약은 주소가 화이트리스트에 속하는지 여부를 확인할 수 있습니다.
C01 계약을 예로 들어 보겠습니다.0x6fd053bff10512d743fa36c859e49351a4920df6

프리세일 및 퍼블릭 세일 시 SetRoot를 통해 해시 업데이트 (C01은 세일 모두 화이트리스트 방식, 퍼블릭 세일은 자본금 검증 추첨 방식)

첫 번째 레벨 제목
Using Merkle Trees for NFT Whitelists
판매 상태 전환
첫 번째 레벨 제목

과학자들이 NFT를 포착하는 방법
과학자들은 프로그램을 사용하여 NFT를 스냅업합니다. 즉, 다양한 수단을 사용하여 자신의 트랜잭션 TX를 채굴자가 다른 사람보다 먼저 패키지하고 매진되기 전에 NFT 민트를 완성합니다. 동시에 과학자들은 모두 완벽을 추구하고 있습니다.가장 완벽한 결과는 물론 공개 판매 상태를 충족하는 첫 번째 블록, 즉 TX가 나타나는 것입니다.블록 잡기0。
이미지 설명

두 가지 시나리오의 Block0
과학자들이 사용하는 방법은 다음 세 가지로 요약할 수 있습니다.
1. 낮은 정보 획득 지연
금융 양적 거래와 유사하게 자금은 서버와 거래소 간의 대기 시간이 짧을 것으로 기대합니다. 블록체인도 비슷합니다.예를 들어 CEX의 모든 사람은 근처에 있는 중앙 집중식 거래소의 서버에 액세스합니다. NFT mint와 DeFi의 거래는 이더리움 네트워크에서 이루어지며, 모두가 더 빠른 이더리움 노드나 대규모 마이닝 풀에 연결된 네트워크를 추구하여 Txpool의 보류 중인 TX를 더 빠르게 모니터링하고 프로그램을 허용하는 데 필요한 정보를 얻습니다. 적시에 실행합니다.
2. 거래 경로가 더 짧습니다.
1) 위의 TX 상호작용 과정을 직접 살펴본 후, 과학자의 선택은 프로그램을 통해 NFT 컨트랙트와 직접 상호작용해야 합니다.
2) 자신의 계약을 체인에 배포하면 비공개 계약을 통해 NFT 계약과 상호 작용할 수 있습니다. 비공개 계약에는 외부 TX 트리거가 필요하지만 계약은 일괄 구매가 가능하며 이는 민트 수를 제한하지 않는 NFT에 특히 적합합니다. (이제 점점 더 많은 NFT가 발신자를 계약으로 제한합니다.)
3. 거래를 일괄적으로 제출
첫 번째 레벨 제목
계약금
YOKAI 공매도 이후의 계약 스냅업 사례. 과학자들은 민간 계약을 통해 총 750개의 조폐국을 확보했습니다. 자세한 내용은 TX를 참조하십시오.
첫 번째 레벨 제목

아티팩트 플래시봇
Flashbots에 대한 자세한 설명은 Mr. Wei의 멋진 소개 및 공식 문서를 참조하십시오.
Flashbots: ETH 없이 지갑에서 자산을 인출하거나 계약과 상호 작용하는 방법
Flashbot을 사용하면 다음과 같은 몇 가지 이점이 있습니다.
1) TX를 일괄적으로 패키징하여 함께 제출할 수 있으며, TX 패키징 순서를 독립적으로 제어할 수 있습니다. 2) Flashbots가 제출한 TX는 Txpool에 나타나지 않고 체인에 나타난 후 모든 사람이 볼 수 있습니다. 이것은 TX의 프라이버시를 제공하므로 많은 DeFi 양적 거래 플랫폼이 Flashbots에 대한 액세스를 광고합니다. (개인적으로 이것은 일시적인 것이라고 생각합니다. Flashbots의 광범위한 사용으로 인해 Flashbots가 제출한 TX는 계속 모니터링됩니다.)
3) Flashbots 민트가 실패하면 가스 요금이 부과되지 않습니다.
Flashbots 스냅 Lengtu XRC의 공개 판매를 예로 들어 보겠습니다.

이 사장은 공매도가 과학자들의 공매도가 아니라고 트윗했지만 결과는block=14020984Block0은 전투를 해결하고 모든 과학자는 예약되어 있습니다.
프로젝트 당사자가 보낸 setStatus TX는 14020982의 TXpool에서 모니터링되었습니다.

그런 다음 일부 과학자는 setStatus TX와 자체 mint tx를 플래시봇과 함께 패키지하여 광부에게 보냈습니다. 여기에서 과학자는 가스가 적지만 setStatus TX를 먼저 배치하고 자체 mint tx를 뒤에 배치하고 마지막으로 tx가 블록 984에서 체인에 들어갑니다.
플래시봇 패키징첫 번째 레벨 제목

화상 블록
쉽게 말해 tx를 논스톱으로 보내는 것인데 민트를 많이 보낼수록 성공확률이 높아진다 운이 좋으면 Block0에 빠질 수도 있다. 이 솔루션의 문제점은 풍부하고 의도적인 플레이 방식인 많은 가스 요금을 소비한다는 것입니다. 블록 소각은 일반적으로 시작 시간, 각 Tx 간격, 전송 횟수, 가스 비용 등을 고려합니다. 이것은 일반적으로 프로젝트 시간, 보류 중인 tx 모니터링 및 체인의 블록 생성 속도를 기반으로 모든 사람이 고려합니다.
첫 번째 레벨 제목지갑
과학자를 방어하는 방법
과학자들의 공황 구매가 등장하면서 과학자들의 공황 구매를 방지하기 위해 다양한 방법을 사용하는 프로젝트가 점점 더 많아지고 있습니다. 파티 캔 민트
1. 화이트리스트를 통해서만 판매
화이트리스트 메커니즘은 모든 프로젝트 판매에 사용되므로 프로젝트 당사자는 규칙을 통해 프로젝트를 진정으로 감사하는 사람들을 걸러낼 수 있습니다.
그러나 규칙이 있으면 대책이 있다 레벨+초대인원, 계정을 올리고 초대장을 판매하는 챗봇과 스튜디오가 있고, 예술을 만들 때 타오바오가 그림을 그릴 사람을 찾아 지금은 제한된 시간 동안 사람들을 디스코드에 초대하는 방식으로 발전했다. 모두가 수수께끼를 추측하고 과제를 수행하게 하는 등 다양한 플레이 방법.
프로젝트 파티는 머리를 짜내고 화이트리스트에 올린 스튜디오와 재치와 용기를 다투고 있으며 일반 NFT 플레이어도 다양한 규칙에 따라 플레이됩니다.
2. 공매도는 자본금확인추첨방식을 채택한다.
예를 들어, NFT가 대중에게 판매될 때 사전에 지갑을 검증하기 위해 일정량의 ETH가 필요하며 시스템 추첨을 통해 당첨자 명단이 제공됩니다. 그러나 많은 프로젝트 당사자들은 수고를 덜기 위해 1:1 추첨제를 시행하지 않으려고 했고, 결국 공개분양 목록이 크게 매도되어 모두가 급히 구매에 나섰습니다.
3. 서버 측 서명 확인 민트
첫 번째 레벨 제목

앞으로 NFT는 어떻게 발전할 것인가
화이트 리스트를 통과한 사람들은 지금 NFT 산업이 매우 불건전하다고 느끼지만 NFT 산업은 아직 초기 단계이며 문제가 있으면 반드시 시장에 나와 문제를 해결해 줄 사람이 있을 것입니다. 문제.
NFT의 판매는 공개되고 공증되고 투명해야 합니다.개인적으로 솔루션은 여전히 실생활에서 친숙한 두 가지 시나리오를 기반으로 할 수 있다고 생각합니다.
1. 신주의 발행을 위하여 거래소는 계좌거래시간, 자본금확인 및 기타 기준액을 정한 후 복권매도를 실시합니다.
2. Jingdong Moutai가 스냅업되고 Jingdong 플랫폼이 계정 인증을 수행하고 스냅업의 공정성을 보장합니다.
이 두 시나리오 모두 플랫폼의 권한을 통해 공정성을 보장하지만 가까운 미래에 구현될 수 있는 현재 DeFi 시장의 다양한 거래 프로토콜과 마찬가지로 유사한 기능을 달성하기 위해 web3의 블록체인 계약을 기반으로 하는 새로운 솔루션이 있어야 합니다. NFT 판매 계약은 공정하고 공증된 투명한 판매 모델을 제공하는 것으로 보입니다. 구체적으로 어떻게 할 것인지 아직 배우고 생각하고 있으며 여러분의 지도와 토론을 환영합니다.
원본 링크


