---
# System prepended metadata

title: Pelith Interview Assignment  - Doug

---

<pre><h3>EIP 1559 實施後，手續費中的 basefee 是根據前一個區塊的滿載程度而調整，
從空到全滿(兩倍 traget)分別有 -12.5% ~ + 12.5% 的乘數，
在目標值15,000,000 gas時則basefee不變，
但這樣在低和高的時候對 basefee 的影響其實是非對稱的。
假設 basefee 長期而言傾向平衡在一個定值附近，在極端狀況下(區塊總是全空或全滿)，
會導致平均區塊 gas 比起目標值膨脹多少?</h3></pre>

區塊全滿(空)basefee 減少 12.5%
區塊全滿(兩倍目標)：basefee 增加 12.5%

x * 0.875(減少) * 1.125(增加) = x * 0.984375
長期以往 basefee = x * 0.984375^n
區塊 Gas 膨脹為 1.5625%

---
<pre><h3>我很久以前部署的>我很久以前部署的 DeFi 合約被 EIP2929 的 gas reprice 弄壞了，
因為合約裡有對 internal call 傳遞的 gas 做限制，
導致提款總是 out of gas 而失敗，我該如何透過送出新的格式的交易來把錢救出來?
具體來說要用到哪些工具或方法?</h3></pre>

用在 EIP-2930 加入的 <code>eth_createAccessList</code> 進行交易，可以最佳化Gas的使用，在ethersjs中：

<pre>
const tx = {
  from: "0x1234...", /* owned address */
  to:  "0x4321...", /* contract address */
  data: "0xabcdef12345...", /* interaction functions */
};
const accessList = await provider.send("eth_createAccessList", [transaction,]);
</pre>

工具方面則有一些節點供應商有提供現成的API可以使用，例如alchemy。

---

<pre><h3>有些 DeFi 協議會採用幾個不同類型的預言機報價的平均數，
而 Chainlink 和 MakerDAO 的預言機則是採用多個訊號源報價的中位數，
兩者各有什麼優缺點?</h3></pre>

1.Chainlink
優點
* 高度去中心化
* 資料類型種類豐富
* 彈性大，提供開發者定製預言機
* 提供獎勵機制激勵社區及節點營運商
* 另外支援Solana以及Starknet

缺點
* 用的資料源、節點比較多的時候成本會比較高
* 配置比較複雜

2.MakerDao
優點
* 高度治理生態
* 抵押品與Dai穩定幣的價格正確性高
* 節點由治理投票決定

缺點
* 資料類型少，只圍繞Dai及抵押品上
* 高度依賴治理，特定情況反應速度不足

---

<pre><h3>假設我能從中心化交易所零手續費的以 1:2000 交換 ETH - USDC，
而鏈上有一個 Uniswap V2 池，裡面有 500 個 ETH 和 1223334 個 USDC，
交易手續費 0.3%，不考慮 gas，我該投入多少顆 ETH 或多少顆 USDC 才能最大化套利收入?
寫出計算過程。</h3></pre>

在CEX中投入約104000 USDC，在DEX中投入約52 ETH。
ethPrice = 2000
ethInDEX = 500
usdcInitInDEX = 1,223,334
k = 611,667,000

((k / 𝚫ethInDEX)/𝚫ethInDEX) * (1 - 0.003) < ethPrice
(k / 𝚫ethInDEX ^ 2) * 0.997 < ethPrice
𝚫ethInDEX ≒ 52 ETH
以及 104000 USDC

8/23 提高精度
usdc 104384
eth  52.192

---

<pre><h3>實作一個 GameFi 合約，整個遊戲最多可以有 1000 位玩家註冊，
每位玩家需要支付 0.1 ETH 入場費，並被隨機分配在一個二維的地圖上，
符合1.以原點為中心 2.角度均勻分布 3.與原點的距離為一個平均為 100、標準差為 20 的常態分布(如圖)</h3></pre>

[PolarGame](https://sepolia.etherscan.io/address/0x35F328D9AB8528cc0128E75dBA962CA3F2c55b0E#code)

[PolarGame(8/18)](https://sepolia.etherscan.io/address/0xa3e4c2ef41d611034982d7fb6e038b981bba580d#code)

---


