{"id":38678,"date":"2026-02-05T13:31:19","date_gmt":"2026-02-05T10:31:19","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/claude-ile-arbitrum-dappleri-hizla-olusturmak-kapsamli-bir-kod-yetenegi-gelistirme-rehberi\/"},"modified":"2026-02-05T13:31:19","modified_gmt":"2026-02-05T10:31:19","slug":"claude-ile-arbitrum-dappleri-hizla-olusturmak-kapsamli-bir-kod-yetenegi-gelistirme-rehberi","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/claude-ile-arbitrum-dappleri-hizla-olusturmak-kapsamli-bir-kod-yetenegi-gelistirme-rehberi\/","title":{"rendered":"Claude ile Arbitrum dApp&#8217;leri H\u0131zla Olu\u015fturmak: Kapsaml\u0131 Bir Kod Yetene\u011fi Geli\u015ftirme Rehberi"},"content":{"rendered":"<h2>Claude ile Arbitrum dApp&#8217;leri H\u0131zla Olu\u015fturmak: Kapsaml\u0131 Bir Kod Yetene\u011fi Geli\u015ftirme Rehberi<\/h2>\n<p>Merkeziyetsiz uygulamalar\u0131n (dApp&#8217;ler) geli\u015ftirilmesi, ak\u0131ll\u0131 s\u00f6zle\u015fmelerin karma\u015f\u0131kl\u0131\u011f\u0131, \u00f6n u\u00e7 entegrasyonu ve da\u011f\u0131t\u0131m s\u00fcre\u00e7leri nedeniyle zaman al\u0131c\u0131 ve zorlu bir s\u00fcre\u00e7 olabilir. \u00d6zellikle Arbitrum gibi Katman-2 \u00e7\u00f6z\u00fcmleri, \u00f6l\u00e7eklenebilirlik avantajlar\u0131 sunsa da, geli\u015ftiricilerin \u00f6\u011frenmesi gereken yeni ara\u00e7lar ve paradigmalar getirir. Bu makalede, Claude gibi g\u00fc\u00e7l\u00fc bir yapay zeka asistan\u0131n\u0131 kullanarak, Arbitrum \u00fczerinde tam te\u015fekk\u00fcll\u00fc dApp iskeletleri olu\u015fturan bir kod yetene\u011fini nas\u0131l geli\u015ftirdi\u011fimi ad\u0131m ad\u0131m anlataca\u011f\u0131m. Bu yetenek, geli\u015ftirme s\u00fcrecini h\u0131zland\u0131rarak inovasyonu te\u015fvik etmeyi ama\u00e7lamaktad\u0131r.<\/p>\n<h3>Arbitrum ve dApp Geli\u015ftirmenin Zorluklar\u0131<\/h3>\n<p>Arbitrum, Ethereum&#8217;un \u00f6l\u00e7eklenebilirlik sorunlar\u0131na \u00e7\u00f6z\u00fcm sunan \u00f6nde gelen bir Katman-2 rollup teknolojisidir. D\u00fc\u015f\u00fck i\u015flem \u00fccretleri ve y\u00fcksek i\u015flem hacmi sayesinde, geli\u015ftiriciler i\u00e7in cazip bir platform haline gelmi\u015ftir. Ancak, bu avantajlara ra\u011fmen, dApp geli\u015ftirme s\u00fcreci hala belirli zorluklar bar\u0131nd\u0131r\u0131r.<\/p>\n<h4>Arbitrum&#8217;un Sundu\u011fu Avantajlar<\/h4>\n<ul>\n<li><strong>D\u00fc\u015f\u00fck \u0130\u015flem \u00dccretleri:<\/strong> Ethereum&#8217;a k\u0131yasla \u00e7ok daha uygun maliyetli i\u015flemler.<\/li>\n<li><strong>Y\u00fcksek \u0130\u015flem Hacmi:<\/strong> Daha fazla i\u015flemi daha k\u0131sa s\u00fcrede i\u015fleme kapasitesi.<\/li>\n<li><strong>EVM Uyumlulu\u011fu:<\/strong> Mevcut Ethereum ara\u00e7lar\u0131 ve Solidity ak\u0131ll\u0131 s\u00f6zle\u015fmeleriyle tam uyumluluk, geli\u015ftiricilerin kolayca ge\u00e7i\u015f yapmas\u0131n\u0131 sa\u011flar.<\/li>\n<li><strong>Geli\u015fen Ekosistem:<\/strong> S\u00fcrekli b\u00fcy\u00fcyen bir kullan\u0131c\u0131 ve geli\u015ftirici toplulu\u011fu.<\/li>\n<\/ul>\n<h4>Geleneksel dApp Geli\u015ftirmenin Engelleri<\/h4>\n<p>Bir dApp&#8217;i s\u0131f\u0131rdan olu\u015fturmak, sadece ak\u0131ll\u0131 s\u00f6zle\u015fme yazmakla kalmaz, ayn\u0131 zamanda bir dizi ba\u015fka bile\u015feni de gerektirir:<\/p>\n<ul>\n<li><strong>Ak\u0131ll\u0131 S\u00f6zle\u015fme Geli\u015ftirme:<\/strong> Solidity veya Vyper ile g\u00fcvenli ve optimize edilmi\u015f s\u00f6zle\u015fmeler yazmak.<\/li>\n<li><strong>\u00d6n U\u00e7 Geli\u015ftirme:<\/strong> Kullan\u0131c\u0131 aray\u00fcz\u00fcn\u00fc (UI) React, Next.js gibi \u00e7er\u00e7evelerle olu\u015fturmak ve blockchain ile etkile\u015fimi sa\u011flamak (Web3.js, Ethers.js, Wagmi).<\/li>\n<li><strong>Da\u011f\u0131t\u0131m ve Test:<\/strong> Hardhat veya Foundry gibi geli\u015ftirme ortamlar\u0131n\u0131 yap\u0131land\u0131rmak, s\u00f6zle\u015fmeleri da\u011f\u0131tmak ve kapsaml\u0131 testler yazmak.<\/li>\n<li><strong>Ba\u011f\u0131ml\u0131l\u0131k Y\u00f6netimi:<\/strong> Gerekli k\u00fct\u00fcphaneleri ve ara\u00e7lar\u0131 do\u011fru \u015fekilde kurup yap\u0131land\u0131rmak.<\/li>\n<\/ul>\n<p>Bu s\u00fcre\u00e7lerin her biri, \u00f6zellikle yeni ba\u015flayanlar i\u00e7in \u00f6nemli bir \u00f6\u011frenme e\u011frisi ve zaman yat\u0131r\u0131m\u0131 gerektirir. \u0130\u015fte tam da bu noktada, Claude gibi bir yapay zeka asistan\u0131n\u0131n devreye girerek bu s\u00fcreci otomatikle\u015ftirmesi ve h\u0131zland\u0131rmas\u0131 b\u00fcy\u00fck bir de\u011fer yarat\u0131r.<\/p>\n<h3>Claude&#8217;un Kod Yetenekleri ve Temelleri<\/h3>\n<p>Claude, do\u011fal dil i\u015fleme yeteneklerini kullanarak karma\u015f\u0131k g\u00f6revleri yerine getirebilen g\u00fc\u00e7l\u00fc bir yapay zeka modelidir. Son zamanlarda geli\u015ftirilen &#8220;kod yetenekleri&#8221; (code skills), Claude&#8217;un sadece metin \u00fcretmekle kalmay\u0131p, harici ara\u00e7lar\u0131 ve API&#8217;leri kullanarak ger\u00e7ek d\u00fcnya eylemleri ger\u00e7ekle\u015ftirmesine olanak tan\u0131r. Bu, Claude&#8217;u bir kod \u00fcreticisinden \u00f6te, bir otomasyon motoruna d\u00f6n\u00fc\u015ft\u00fcr\u00fcr.<\/p>\n<h4>Claude&#8217;un Fonksiyon \u00c7a\u011f\u0131rma Mekanizmas\u0131<\/h4>\n<p>Claude&#8217;un kod yetenekleri, temel olarak &#8220;fonksiyon \u00e7a\u011f\u0131rma&#8221; (function calling) mekanizmas\u0131 \u00fczerine kuruludur. Bu mekanizma \u015fu ad\u0131mlarla \u00e7al\u0131\u015f\u0131r:<\/p>\n<ol>\n<li><strong>Kullan\u0131c\u0131 \u0130ste\u011fi:<\/strong> Kullan\u0131c\u0131 do\u011fal dilde bir istekte bulunur (\u00f6rn. &#8220;Arbitrum \u00fczerinde bir ERC-20 token s\u00f6zle\u015fmesi olu\u015ftur&#8221;).<\/li>\n<li><strong>Ara\u00e7 Tan\u0131m\u0131:<\/strong> Geli\u015ftirici, Claude&#8217;a hangi ara\u00e7lar\u0131n (fonksiyonlar\u0131n) mevcut oldu\u011funu ve bu ara\u00e7lar\u0131n ne i\u015fe yarad\u0131\u011f\u0131n\u0131, hangi parametreleri ald\u0131\u011f\u0131n\u0131 ve ne d\u00f6nd\u00fcrd\u00fc\u011f\u00fcn\u00fc a\u00e7\u0131klar (bir JSON \u015femas\u0131 arac\u0131l\u0131\u011f\u0131yla).<\/li>\n<li><strong>Claude&#8217;un Karar\u0131:<\/strong> Claude, kullan\u0131c\u0131n\u0131n iste\u011fini analiz eder ve mevcut ara\u00e7 tan\u0131mlar\u0131na bakarak, bu iste\u011fi yerine getirmek i\u00e7in hangi arac\u0131 (veya ara\u00e7lar\u0131) hangi parametrelerle \u00e7a\u011f\u0131rmas\u0131 gerekti\u011fine karar verir.<\/li>\n<li><strong>Ara\u00e7 \u00c7a\u011fr\u0131s\u0131:<\/strong> Claude, belirledi\u011fi arac\u0131 ve parametreleri bir JSON format\u0131nda d\u00f6nd\u00fcr\u00fcr. Bu, do\u011frudan bir kod y\u00fcr\u00fctme de\u011fildir; daha ziyade, &#8220;e\u011fer bu arac\u0131 \u00e7a\u011f\u0131rsayd\u0131m, \u015f\u00f6yle g\u00f6r\u00fcn\u00fcrd\u00fc&#8221; \u015feklinde bir \u00f6neridir.<\/li>\n<li><strong>Uygulama Taraf\u0131ndan Y\u00fcr\u00fctme:<\/strong> Geli\u015ftiricinin uygulamas\u0131, Claude&#8217;dan gelen bu ara\u00e7 \u00e7a\u011fr\u0131s\u0131 \u00f6nerisini al\u0131r, ger\u00e7ek arac\u0131 kendi ortam\u0131nda y\u00fcr\u00fct\u00fcr ve \u00e7\u0131kt\u0131y\u0131 tekrar Claude&#8217;a besler.<\/li>\n<li><strong>Yan\u0131t \u00dcretimi:<\/strong> Claude, arac\u0131n \u00e7\u0131kt\u0131s\u0131n\u0131 analiz eder ve kullan\u0131c\u0131ya do\u011fal dilde bir yan\u0131t veya ek bir ara\u00e7 \u00e7a\u011fr\u0131s\u0131 \u00f6nerisi sunar.<\/li>\n<\/ol>\n<p>Bu d\u00f6ng\u00fc sayesinde Claude, karma\u015f\u0131k i\u015f ak\u0131\u015flar\u0131n\u0131 y\u00f6netebilir ve dinamik olarak kod \u00fcretebilir, dosya sistemiyle etkile\u015fime ge\u00e7ebilir veya harici API&#8217;leri kullanabilir.<\/p>\n<h4>Geli\u015ftirme Ortam\u0131 ve Ara\u00e7lar<\/h4>\n<p>Bu yetene\u011fi geli\u015ftirmek i\u00e7in bir dizi araca ihtiyac\u0131m\u0131z vard\u0131:<\/p>\n<ul>\n<li><strong>Claude API:<\/strong> Claude ile programatik olarak etkile\u015fim kurmak i\u00e7in.<\/li>\n<li><strong>Python\/Node.js:<\/strong> Claude&#8217;dan gelen ara\u00e7 \u00e7a\u011fr\u0131lar\u0131n\u0131 yakalamak ve ger\u00e7ek kod \u00fcretimini veya dosya sistemi etkile\u015fimlerini ger\u00e7ekle\u015ftirmek i\u00e7in bir arka u\u00e7.<\/li>\n<li><strong>Hardhat\/Foundry:<\/strong> Ak\u0131ll\u0131 s\u00f6zle\u015fme geli\u015ftirme, derleme, test ve da\u011f\u0131t\u0131m i\u00e7in.<\/li>\n<li><strong>React\/Next.js:<\/strong> \u00d6n u\u00e7 iskeleti olu\u015fturmak i\u00e7in.<\/li>\n<li><strong>Git:<\/strong> Versiyon kontrol\u00fc ve proje yap\u0131s\u0131 olu\u015fturma.<\/li>\n<\/ul>\n<h3>Arbitrum dApp \u0130skelet Olu\u015fturma Yetene\u011finin Tasar\u0131m\u0131<\/h3>\n<p>Arbitrum dApp iskeletini olu\u015fturan Claude yetene\u011fini tasarlarken, bir dApp&#8217;in temel bile\u015fenlerini mod\u00fcler hale getirmeye odakland\u0131m. Bu sayede Claude, kullan\u0131c\u0131n\u0131n iste\u011fine g\u00f6re bu bile\u015fenleri bir araya getirebilecek veya \u00f6zelle\u015ftirebilecekti.<\/p>\n<h4>Mod\u00fcler Yakla\u015f\u0131m<\/h4>\n<p>Bir dApp iskeletini \u015fu ana mod\u00fcllere ay\u0131rd\u0131m:<\/p>\n<ol>\n<li><strong>Ak\u0131ll\u0131 S\u00f6zle\u015fme Mod\u00fcl\u00fc:<\/strong> Solidity s\u00f6zle\u015fmeleri (ERC-20, ERC-721, oylama, staking vb.).<\/li>\n<li><strong>\u00d6n U\u00e7 Mod\u00fcl\u00fc:<\/strong> Temel React\/Next.js uygulamas\u0131, c\u00fczdan ba\u011flant\u0131s\u0131, s\u00f6zle\u015fme etkile\u015fimi.<\/li>\n<li><strong>Da\u011f\u0131t\u0131m Mod\u00fcl\u00fc:<\/strong> Hardhat\/Foundry yap\u0131land\u0131rmas\u0131 ve da\u011f\u0131t\u0131m scriptleri.<\/li>\n<li><strong>Test Mod\u00fcl\u00fc:<\/strong> Ak\u0131ll\u0131 s\u00f6zle\u015fmeler i\u00e7in temel test senaryolar\u0131.<\/li>\n<\/ol>\n<p>Her mod\u00fcl, Claude&#8217;un \u00e7a\u011f\u0131rabilece\u011fi belirli fonksiyonlara kar\u015f\u0131l\u0131k geliyordu. \u00d6rne\u011fin, <code>create_erc20_contract(name, symbol)<\/code> veya <code>create_react_frontend()<\/code> gibi.<\/p>\n<h4>Veri Yap\u0131s\u0131 ve \u015eablonlar<\/h4>\n<p>Claude&#8217;un dinamik olarak kod \u00fcretebilmesi i\u00e7in, temel \u015fablonlara ve yap\u0131land\u0131rma dosyalar\u0131na ihtiyac\u0131m\u0131z vard\u0131. Bu \u015fablonlar, Jinja2 (Python i\u00e7in) veya EJS (Node.js i\u00e7in) gibi \u015fablon motorlar\u0131 kullan\u0131larak dinamik olarak doldurulabilirdi. \u00d6rne\u011fin, bir ERC-20 s\u00f6zle\u015fmesi \u015fablonu, token ad\u0131 ve sembol\u00fc gibi parametrelerle doldurulabilirdi.<\/p>\n<pre><code class=\"language-solidity\">\/\/ templates\/ERC20.sol\n\/\/ SPDX-License-Identifier: MIT\npragma solidity ^0.8.20;\n\nimport \"@openzeppelin\/contracts\/token\/ERC20\/ERC20.sol\";\n\ncontract {{contractName}} is ERC20 {\n    constructor(string memory name, string memory symbol, uint256 initialSupply) ERC20(name, symbol) {\n        _mint(msg.sender, initialSupply);\n    }\n}\n<\/pre>\n<p><\/code><\/p>\n<p>Bu \u015fablonlar, Claude'un kullan\u0131c\u0131n\u0131n iste\u011fine g\u00f6re do\u011fru kod par\u00e7ac\u0131klar\u0131n\u0131 bir araya getirmesini kolayla\u015ft\u0131rd\u0131.<\/p>\n<h3>Ak\u0131ll\u0131 S\u00f6zle\u015fme Mod\u00fcl\u00fc Geli\u015ftirme<\/h3>\n<p>Ak\u0131ll\u0131 s\u00f6zle\u015fmeler, bir dApp'in kalbidir. Bu mod\u00fcl, \u00e7e\u015fitli t\u00fcrlerde ak\u0131ll\u0131 s\u00f6zle\u015fmeler olu\u015fturma yetene\u011fini i\u00e7eriyordu.<\/p>\n<h4>Solidity \u015eablonlar\u0131 ve OpenZeppelin Entegrasyonu<\/h4>\n<p>G\u00fcvenlik ve verimlilik a\u00e7\u0131s\u0131ndan, OpenZeppelin Contracts k\u00fct\u00fcphanesini temel ald\u0131m. Bu k\u00fct\u00fcphane, ERC-20, ERC-721, AccessControl gibi yayg\u0131n s\u00f6zle\u015fme standartlar\u0131n\u0131n denetlenmi\u015f ve g\u00fcvenli uygulamalar\u0131n\u0131 sunar. Claude, kullan\u0131c\u0131n\u0131n iste\u011fine g\u00f6re bu \u015fablonlar\u0131 kullanarak s\u00f6zle\u015fmeler olu\u015fturur.<\/p>\n<pre><code class=\"language-python\"># Python backend'de bir \u00f6rnek\ndef create_erc20_contract(name, symbol, initial_supply):\n    template = read_template(\"ERC20.sol\")\n    contract_code = template.replace(\"{{contractName}}\", name.replace(\" \", \"\") + \"Token\")\n    contract_code = contract_code.replace(\"{{name}}\", name)\n    contract_code = contract_code.replace(\"{{symbol}}\", symbol)\n    contract_code = contract_code.replace(\"{{initialSupply}}\", str(initial_supply))\n    \n    # Olu\u015fturulan kodu bir dosyaya yaz\n    with open(f\"contracts\/{name.replace(' ', '')}Token.sol\", \"w\") as f:\n        f.write(contract_code)\n    return f\"ERC-20 token s\u00f6zle\u015fmesi '{name.replace(' ', '')}Token.sol' olu\u015fturuldu.\"\n\n# Claude'a tan\u0131t\u0131lan ara\u00e7\ntools = [\n    {\n        \"name\": \"create_erc20_contract\",\n        \"description\": \"Arbitrum \u00fczerinde bir ERC-20 token s\u00f6zle\u015fmesi olu\u015fturur.\",\n        \"input_schema\": {\n            \"type\": \"object\",\n            \"properties\": {\n                \"name\": {\"type\": \"string\", \"description\": \"Token'\u0131n ad\u0131 (\u00f6rn. My Token)\"},\n                \"symbol\": {\"type\": \"string\", \"description\": \"Token'\u0131n sembol\u00fc (\u00f6rn. MYT)\"},\n                \"initial_supply\": {\"type\": \"integer\", \"description\": \"Ba\u015flang\u0131\u00e7 arz\u0131 (\u00f6rn. 1000000)\"}\n            },\n            \"required\": [\"name\", \"symbol\", \"initial_supply\"]\n        }\n    }\n]\n<\/pre>\n<p><\/code><\/p>\n<h4>Hardhat\/Foundry Yap\u0131land\u0131rmas\u0131<\/h4>\n<p>Olu\u015fturulan s\u00f6zle\u015fmelerin derlenebilmesi, test edilebilmesi ve da\u011f\u0131t\u0131labilmesi i\u00e7in Hardhat veya Foundry gibi bir geli\u015ftirme ortam\u0131n\u0131n yap\u0131land\u0131r\u0131lmas\u0131 gereklidir. Claude, bu ortamlar\u0131n temel yap\u0131land\u0131rma dosyalar\u0131n\u0131 (<code>hardhat.config.js<\/code> veya <code>foundry.toml<\/code>) ve gerekli ba\u011f\u0131ml\u0131l\u0131klar\u0131 i\u00e7eren <code>package.json<\/code> dosyas\u0131n\u0131 da olu\u015fturur.<\/p>\n<p>\u00d6rne\u011fin, Hardhat i\u00e7in Arbitrum Goerli a\u011f\u0131na da\u011f\u0131t\u0131m yapacak bir yap\u0131land\u0131rma:<\/p>\n<pre><code class=\"language-javascript\">\/\/ hardhat.config.js\nrequire(\"@nomicfoundation\/hardhat-toolbox\");\nrequire(\"dotenv\").config();\n\nconst ARBITRUM_GOERLI_RPC_URL = process.env.ARBITRUM_GOERLI_RPC_URL || \"\";\nconst PRIVATE_KEY = process.env.PRIVATE_KEY || \"\";\n\n\/** @type import('hardhat\/config').HardhatUserConfig *\/\nmodule.exports = {\n  solidity: \"0.8.20\",\n  networks: {\n    arbitrumGoerli: {\n      url: ARBITRUM_GOERLI_RPC_URL,\n      accounts: PRIVATE_KEY !== \"\" ? [PRIVATE_KEY] : [],\n      chainId: 421613,\n    },\n  },\n  etherscan: {\n    apiKey: process.env.ARBISCAN_API_KEY,\n  },\n};\n<\/pre>\n<p><\/code><\/p>\n<h3>\u00d6n U\u00e7 Entegrasyonu ve Kullan\u0131c\u0131 Aray\u00fcz\u00fc<\/h3>\n<p>Bir dApp'in kullan\u0131c\u0131larla etkile\u015fim kurabilmesi i\u00e7in bir \u00f6n y\u00fcze ihtiyac\u0131 vard\u0131r. Bu mod\u00fcl, React veya Next.js tabanl\u0131 temel bir kullan\u0131c\u0131 aray\u00fcz\u00fc iskeleti olu\u015fturur.<\/p>\n<h4>Temel React\/Next.js Uygulamas\u0131<\/h4>\n<p>Claude, <code>create-next-app<\/code> veya <code>create-react-app<\/code> gibi ara\u00e7lar\u0131 kullanarak temel bir proje yap\u0131s\u0131 olu\u015fturabilir. Ard\u0131ndan, c\u00fczdan ba\u011flant\u0131s\u0131 ve ak\u0131ll\u0131 s\u00f6zle\u015fme etkile\u015fimi i\u00e7in gerekli k\u00fct\u00fcphaneleri (Wagmi, Ethers.js) entegre eder.<\/p>\n<pre><code class=\"language-jsx\">\/\/ components\/ConnectWallet.jsx\nimport { useAccount, useConnect, useDisconnect } from 'wagmi';\nimport { InjectedConnector } from 'wagmi\/connectors\/injected';\n\nfunction ConnectWallet() {\n  const { address, isConnected } = useAccount();\n  const { connect } = useConnect({\n    connector: new InjectedConnector(),\n  });\n  const { disconnect } = useDisconnect();\n\n  if (isConnected)\n    return (\n      <div>\n        Connected to {address}\n        <button onClick={disconnect}>Disconnect<\/button>\n      <\/div>\n    );\n  return <button onClick={() => connect()}>Connect Wallet<\/button>;\n}\n\nexport default ConnectWallet;\n<\/pre>\n<p><\/code><\/p>\n<h4>C\u00fczdan Ba\u011flant\u0131s\u0131 ve S\u00f6zle\u015fme Etkile\u015fimi<\/h4>\n<p>\u00d6n u\u00e7 iskeleti, kullan\u0131c\u0131n\u0131n MetaMask gibi c\u00fczdanlar\u0131n\u0131 ba\u011flamas\u0131na olanak tan\u0131yan bir bile\u015fen i\u00e7erir. Ayr\u0131ca, olu\u015fturulan ak\u0131ll\u0131 s\u00f6zle\u015fmelerle etkile\u015fim kurmak i\u00e7in temel fonksiyonlar\u0131 (\u00f6rn. token bakiyesi sorgulama, token transferi) g\u00f6steren \u00f6rnekler de ekler.<\/p>\n<p>Bu, geli\u015ftiricilerin ba\u015flang\u0131\u00e7 noktas\u0131ndan itibaren \u00e7al\u0131\u015f\u0131r durumda bir \u00f6n y\u00fcze sahip olmalar\u0131n\u0131 sa\u011flar ve blockchain etkile\u015fimlerinin nas\u0131l kurulaca\u011f\u0131n\u0131 g\u00f6sterir.<\/p>\n<h3>Da\u011f\u0131t\u0131m ve Test Ortam\u0131 Otomasyonu<\/h3>\n<p>Bir dApp'in tam olarak i\u015flevsel olabilmesi i\u00e7in ak\u0131ll\u0131 s\u00f6zle\u015fmelerin bir blockchain a\u011f\u0131na da\u011f\u0131t\u0131lmas\u0131 ve do\u011fru \u00e7al\u0131\u015ft\u0131\u011f\u0131ndan emin olmak i\u00e7in test edilmesi gerekir.<\/p>\n<h4>Da\u011f\u0131t\u0131m Scriptleri<\/h4>\n<p>Claude, Hardhat veya Foundry i\u00e7in temel da\u011f\u0131t\u0131m scriptleri olu\u015fturur. Bu scriptler, s\u00f6zle\u015fmeleri derler ve belirlenen bir a\u011fa (\u00f6rn. Arbitrum Goerli) da\u011f\u0131t\u0131r. Geli\u015ftirici, bu scriptleri kendi \u00f6zel parametreleriyle kolayca g\u00fcncelleyebilir.<\/p>\n<pre><code class=\"language-javascript\">\/\/ scripts\/deploy.js\nconst { ethers } = require(\"hardhat\");\n\nasync function main() {\n  const [deployer] = await ethers.getSigners();\n  console.log(\"Deploying contracts with the account:\", deployer.address);\n\n  const MyToken = await ethers.getContractFactory(\"MyToken\"); \/\/ Olu\u015fturulan token ad\u0131n\u0131 kullan\n  const myToken = await MyToken.deploy(\"My Awesome Token\", \"MAT\", 1000000);\n\n  await myToken.waitForDeployment();\n\n  console.log(\"MyToken deployed to:\", myToken.target);\n}\n\nmain().catch((error) => {\n  console.error(error);\n  process.exitCode = 1;\n});\n<\/pre>\n<p><\/code><\/p>\n<h4>Temel Test Senaryolar\u0131<\/h4>\n<p>G\u00fcvenli ve hatas\u0131z dApp'ler i\u00e7in testler vazge\u00e7ilmezdir. Claude, olu\u015fturulan ak\u0131ll\u0131 s\u00f6zle\u015fmeler i\u00e7in temel birim testleri (unit tests) i\u00e7eren bir dosya da sa\u011flar. Bu testler, s\u00f6zle\u015fmenin temel fonksiyonlar\u0131n\u0131n (\u00f6rn. ERC-20 i\u00e7in transfer, bakiye sorgulama) beklendi\u011fi gibi \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 do\u011frular.<\/p>\n<pre><code class=\"language-javascript\">\/\/ test\/MyToken.test.js\nconst { expect } = require(\"chai\");\nconst { ethers } = require(\"hardhat\");\n\ndescribe(\"MyToken\", function () {\n  let MyToken;\n  let myToken;\n  let owner;\n  let addr1;\n  let addr2;\n  let addrs;\n\n  beforeEach(async function () {\n    MyToken = await ethers.getContractFactory(\"MyToken\");\n    [owner, addr1, addr2, ...addrs] = await ethers.getSigners();\n    myToken = await MyToken.deploy(\"My Awesome Token\", \"MAT\", 1000000);\n    await myToken.waitForDeployment();\n  });\n\n  describe(\"Deployment\", function () {\n    it(\"Should set the right owner\", async function () {\n      expect(await myToken.owner()).to.equal(owner.address);\n    });\n\n    it(\"Should assign the total supply of tokens to the owner\", async function () {\n      const ownerBalance = await myToken.balanceOf(owner.address);\n      expect(await myToken.totalSupply()).to.equal(ownerBalance);\n    });\n  });\n\n  describe(\"Transactions\", function () {\n    it(\"Should transfer tokens between accounts\", async function () {\n      \/\/ Transfer 50 tokens from owner to addr1\n      await myToken.transfer(addr1.address, 50);\n      const addr1Balance = await myToken.balanceOf(addr1.address);\n      expect(addr1Balance).to.equal(50);\n\n      \/\/ Transfer 50 tokens from addr1 to addr2\n      await myToken.connect(addr1).transfer(addr2.address, 50);\n      const addr2Balance = await myToken.balanceOf(addr2.address);\n      expect(addr2Balance).to.equal(50);\n    });\n  });\n});\n<\/pre>\n<p><\/code><\/p>\n<h3>Claude ile Etkile\u015fim ve Kullan\u0131m Senaryolar\u0131<\/h3>\n<p>Bu yetene\u011fin g\u00fcc\u00fc, Claude ile do\u011fal dil \u00fczerinden etkile\u015fim kurarak karma\u015f\u0131k dApp iskeletlerini saniyeler i\u00e7inde olu\u015fturabilme yetene\u011finde yatar.<\/p>\n<h4>Basit Bir \u0130stekten Tam Bir dApp'e<\/h4>\n<p>Kullan\u0131c\u0131, Claude'a basit bir istekte bulunabilir:<\/p>\n<p><code>\"Arbitrum \u00fczerinde bir ERC-20 token dApp'i olu\u015fturmak istiyorum. Token\u0131m\u0131n ad\u0131 'ArbiCoin', sembol\u00fc 'ARB' ve ba\u015flang\u0131\u00e7 arz\u0131 1 milyon olsun. Ayr\u0131ca, bu token ile etkile\u015fim kurabilece\u011fim temel bir React \u00f6n y\u00fcz\u00fc de olsun.\"<\/code><\/p>\n<p>Claude, bu iste\u011fi analiz eder ve s\u0131ras\u0131yla \u015fu ara\u00e7 \u00e7a\u011fr\u0131lar\u0131n\u0131 \u00f6nerir:<\/p>\n<ol>\n<li><code>create_erc20_contract(name=\"ArbiCoin\", symbol=\"ARB\", initial_supply=1000000)<\/code><\/li>\n<li><code>create_hardhat_project()<\/code> (yap\u0131land\u0131rma dosyalar\u0131 ve ba\u011f\u0131ml\u0131l\u0131klar i\u00e7in)<\/li>\n<li><code>create_react_frontend(contract_name=\"ArbiCoinToken\")<\/code><\/li>\n<li><code>create_deployment_script(contract_name=\"ArbiCoinToken\")<\/code><\/li>\n<li><code>create_test_suite(contract_name=\"ArbiCoinToken\")<\/code><\/li>\n<\/ol>\n<p>Uygulama, bu \u00e7a\u011fr\u0131lar\u0131 kendi arka ucunda y\u00fcr\u00fct\u00fcr ve gerekli dosyalar\u0131 olu\u015fturur. Claude, daha sonra kullan\u0131c\u0131ya \"dApp iskeletiniz ba\u015far\u0131yla olu\u015fturuldu, \u015fimdi <code>npm install<\/code> ve <code>npx hardhat compile<\/code> komutlar\u0131n\u0131 \u00e7al\u0131\u015ft\u0131rabilirsiniz\" gibi talimatlarla yan\u0131t verir.<\/p>\n<h4>\u0130teratif Geli\u015ftirme ve \u00d6zelle\u015ftirme<\/h4>\n<p>Kullan\u0131c\u0131lar, olu\u015fturulan iskeleti daha sonra Claude ile etkile\u015fime girerek \u00f6zelle\u015ftirebilirler. \u00d6rne\u011fin, \"ERC-20 s\u00f6zle\u015fmeme bir pause\/unpause \u00f6zelli\u011fi ekleyebilir misin?\" veya \"\u00d6n y\u00fcze token transferi i\u00e7in bir form ekle\" gibi isteklerde bulunabilirler. Claude, mevcut kodu anlayarak ve gerekli de\u011fi\u015fiklikleri yaparak bu t\u00fcr \u00f6zelle\u015ftirmeleri de ger\u00e7ekle\u015ftirebilir.<\/p>\n<h3>Geli\u015ftirme S\u00fcrecinde Kar\u015f\u0131la\u015f\u0131lan Zorluklar ve \u00c7\u00f6z\u00fcmler<\/h3>\n<p>Bu yetene\u011fi geli\u015ftirirken baz\u0131 zorluklarla kar\u015f\u0131la\u015ft\u0131m ve bunlar\u0131 a\u015fmak i\u00e7in \u00e7e\u015fitli stratejiler uygulad\u0131m.<\/p>\n<h4>Ba\u011flam Penceresi S\u0131n\u0131rlamalar\u0131<\/h4>\n<p>Claude'un ba\u011flam penceresi (context window) b\u00fcy\u00fck olsa da, t\u00fcm dApp kodunu tek seferde i\u015flemek zor olabilir. Bu nedenle, mod\u00fcler bir yakla\u015f\u0131m benimsemek ve Claude'a sadece ilgili kod par\u00e7alar\u0131n\u0131 veya \u015fablonlar\u0131 sunmak \u00f6nemlidir. B\u00fcy\u00fck dosyalar yerine, belirli fonksiyonlar\u0131 yerine getiren k\u00fc\u00e7\u00fck, odaklanm\u0131\u015f ara\u00e7lar tan\u0131mlamak bu sorunu hafifletir.<\/p>\n<h4>Prompt M\u00fchendisli\u011fi<\/h4>\n<p>Claude'un do\u011fru ara\u00e7lar\u0131 do\u011fru parametrelerle \u00e7a\u011f\u0131rmas\u0131n\u0131 sa\u011flamak i\u00e7in etkili prompt m\u00fchendisli\u011fi kritik \u00f6neme sahiptir. Ara\u00e7 tan\u0131mlar\u0131n\u0131n net, kesin ve anla\u015f\u0131l\u0131r olmas\u0131 gerekir. Ayr\u0131ca, Claude'a \"d\u00fc\u015f\u00fcnme\" ad\u0131mlar\u0131 eklemek (Chain of Thought prompting), karma\u015f\u0131k istekleri daha iyi anlamas\u0131na ve par\u00e7alara ay\u0131rmas\u0131na yard\u0131mc\u0131 olur.<\/p>\n<h4>Hata \u0130\u015fleme ve Do\u011frulama<\/h4>\n<p>\u00dcretilen kodun her zaman m\u00fckemmel olmas\u0131 beklenemez. Claude'un \u00f6nerdi\u011fi ara\u00e7 \u00e7a\u011fr\u0131lar\u0131n\u0131n ve \u00fcretilen kodun ge\u00e7erlili\u011fini arka u\u00e7ta do\u011frulamak \u00f6nemlidir. \u00d6rne\u011fin, s\u00f6zle\u015fme derlemesi ba\u015far\u0131s\u0131z olursa, bu hatay\u0131 Claude'a geri bildirmek ve d\u00fczeltme yapmas\u0131n\u0131 istemek gerekir. Bu, kullan\u0131c\u0131 deneyimini iyile\u015ftirir ve g\u00fcvenilirli\u011fi art\u0131r\u0131r.<\/p>\n<h3>Sonu\u00e7<\/h3>\n<p>Claude'un kod yeteneklerini kullanarak Arbitrum \u00fczerinde tam te\u015fekk\u00fcll\u00fc dApp iskeletleri olu\u015fturma yetene\u011fi, merkeziyetsiz uygulama geli\u015ftirme s\u00fcrecini k\u00f6kten de\u011fi\u015ftirebilecek potansiyele sahiptir. Bu yetenek, geli\u015ftiricilerin tekrarlayan ba\u015flang\u0131\u00e7 ad\u0131mlar\u0131n\u0131 atlamas\u0131na, daha h\u0131zl\u0131 prototipleme yapmas\u0131na ve inovasyona odaklanmas\u0131na olanak tan\u0131r. Ak\u0131ll\u0131 s\u00f6zle\u015fme g\u00fcvenli\u011finden \u00f6n u\u00e7 entegrasyonuna kadar her a\u015famada otomasyon sa\u011flayarak, dApp geli\u015ftirme s\u00fcrecini daha eri\u015filebilir ve verimli hale getirir. Gelecekte, bu yetene\u011fi daha karma\u015f\u0131k dApp mimarilerine, di\u011fer blockchain a\u011flar\u0131na ve geli\u015fmi\u015f test senaryolar\u0131na geni\u015fletmek, yapay zeka destekli geli\u015ftirmenin s\u0131n\u0131rlar\u0131n\u0131 daha da zorlayacakt\u0131r.<\/p>\n<h3>SSS (S\u0131k Sorulan Sorular)<\/h3>\n<h4>Bu Claude yetene\u011fi ile hangi t\u00fcr dApp'ler olu\u015fturulabilir?<\/h4>\n<p>\u015eu anda, temel ERC-20 token s\u00f6zle\u015fmeleri, basit \u00f6n u\u00e7 aray\u00fczleri ve da\u011f\u0131t\u0131m\/test yap\u0131land\u0131rmalar\u0131 gibi yayg\u0131n dApp bile\u015fenlerini i\u00e7eren iskeletler olu\u015fturulabilir. Gelecekte, ERC-721 NFT'ler, staking s\u00f6zle\u015fmeleri, oylama mekanizmalar\u0131 ve daha karma\u015f\u0131k DeFi protokolleri gibi \u00f6zellikler de eklenebilir.<\/p>\n<h4>Olu\u015fturulan kod ne kadar g\u00fcvenli?<\/h4>\n<p>Olu\u015fturulan ak\u0131ll\u0131 s\u00f6zle\u015fmeler genellikle OpenZeppelin gibi denetlenmi\u015f ve g\u00fcvenli k\u00fct\u00fcphaneleri temel al\u0131r. Ancak, yapay zeka taraf\u0131ndan \u00fcretilen her kod par\u00e7as\u0131 gibi, nihai g\u00fcvenlik kontrol\u00fc ve denetimi geli\u015ftiricinin sorumlulu\u011fundad\u0131r. \u00dcretilen kodun uzman bir denet\u00e7iye incelettirilmesi her zaman tavsiye edilir.<\/p>\n<h4>Claude'un \u00fcretti\u011fi kodu nas\u0131l \u00f6zelle\u015ftirebilirim?<\/h4>\n<p>Claude, temel bir iskelet sa\u011flar. Bu iskelet \u00fczerinde kendi \u00f6zel i\u015f mant\u0131\u011f\u0131n\u0131z\u0131, \u00f6n u\u00e7 tasar\u0131m\u0131n\u0131z\u0131 ve ek \u00f6zellikleri kolayca geli\u015ftirebilirsiniz. Hatta, Claude'dan mevcut kodu de\u011fi\u015ftirmesini veya yeni \u00f6zellikler eklemesini isteyerek iteratif olarak da \u00f6zelle\u015ftirme yapabilirsiniz.<\/p>\n<h4>Bu yetenek sadece Arbitrum i\u00e7in mi ge\u00e7erli?<\/h4>\n<p>Bu makalede Arbitrum'a odaklan\u0131lm\u0131\u015f olsa da, Claude'un temel kod yetene\u011fi mekanizmas\u0131 blockchain a\u011f\u0131ndan ba\u011f\u0131ms\u0131zd\u0131r. Gerekli ara\u00e7 tan\u0131mlar\u0131 ve \u015fablonlar g\u00fcncellenerek Ethereum ana a\u011f\u0131, Polygon, BNB Chain gibi di\u011fer EVM uyumlu a\u011flar i\u00e7in de benzer yetenekler geli\u015ftirilebilir.<\/p>\n<h4>Bu yetene\u011fi kullanmak i\u00e7in kodlama bilgisine ihtiyac\u0131m var m\u0131?<\/h4>\n<p>Claude, ba\u015flang\u0131\u00e7 kodunu olu\u015fturarak s\u00fcreci b\u00fcy\u00fck \u00f6l\u00e7\u00fcde basitle\u015ftirse de, olu\u015fturulan kodu anlamak, \u00f6zelle\u015ftirmek ve da\u011f\u0131tmak i\u00e7in temel blockchain, Solidity ve \u00f6n u\u00e7 (React\/Next.js) bilgisi faydal\u0131 olacakt\u0131r. Bu yetenek, s\u0131f\u0131rdan ba\u015flayanlar i\u00e7in bir ba\u015flang\u0131\u00e7 noktas\u0131 sunarken, deneyimli geli\u015ftiriciler i\u00e7in de zaman kazand\u0131r\u0131c\u0131 bir ara\u00e7t\u0131r.<\/p>\n","protected":false},"excerpt":{"rendered":"Arbitrum, Ethereum&#8217;un \u00f6l\u00e7eklenebilirlik sorunlar\u0131na \u00e7\u00f6z\u00fcm sunan \u00f6nde gelen bir Katman-2 rollup teknolojisidir. D\u00fc\u015f\u00fck i\u015flem \u00fccretleri ve y\u00fcksek i&#8230;","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1],"tags":[],"class_list":{"0":"post-38678","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-genel","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Claude ile Arbitrum dApp&#039;leri H\u0131zla Olu\u015fturmak: Kapsaml\u0131 Bir Kod Yetene\u011fi Geli\u015ftirme Rehberi - Kodlar\u0131n Gizemli D\u00fcnyas\u0131<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/claude-ile-arbitrum-dappleri-hizla-olusturmak-kapsamli-bir-kod-yetenegi-gelistirme-rehberi\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Claude ile Arbitrum dApp&#039;leri H\u0131zla Olu\u015fturmak: Kapsaml\u0131 Bir Kod Yetene\u011fi Geli\u015ftirme Rehberi\" \/>\n<meta property=\"og:description\" content=\"Arbitrum, Ethereum&#039;un \u00f6l\u00e7eklenebilirlik sorunlar\u0131na \u00e7\u00f6z\u00fcm sunan \u00f6nde gelen bir Katman-2 rollup teknolojisidir. D\u00fc\u015f\u00fck i\u015flem \u00fccretleri ve y\u00fcksek i...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/claude-ile-arbitrum-dappleri-hizla-olusturmak-kapsamli-bir-kod-yetenegi-gelistirme-rehberi\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2026-02-05T10:31:19+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"15 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/claude-ile-arbitrum-dappleri-hizla-olusturmak-kapsamli-bir-kod-yetenegi-gelistirme-rehberi\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/claude-ile-arbitrum-dappleri-hizla-olusturmak-kapsamli-bir-kod-yetenegi-gelistirme-rehberi\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Claude ile Arbitrum dApp&#8217;leri H\u0131zla Olu\u015fturmak: Kapsaml\u0131 Bir Kod Yetene\u011fi Geli\u015ftirme Rehberi\",\"datePublished\":\"2026-02-05T10:31:19+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/claude-ile-arbitrum-dappleri-hizla-olusturmak-kapsamli-bir-kod-yetenegi-gelistirme-rehberi\/\"},\"wordCount\":2505,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/claude-ile-arbitrum-dappleri-hizla-olusturmak-kapsamli-bir-kod-yetenegi-gelistirme-rehberi\/#respond\"]}],\"copyrightYear\":\"2026\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/claude-ile-arbitrum-dappleri-hizla-olusturmak-kapsamli-bir-kod-yetenegi-gelistirme-rehberi\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/claude-ile-arbitrum-dappleri-hizla-olusturmak-kapsamli-bir-kod-yetenegi-gelistirme-rehberi\/\",\"name\":\"Claude ile Arbitrum dApp'leri H\u0131zla Olu\u015fturmak: Kapsaml\u0131 Bir Kod Yetene\u011fi Geli\u015ftirme Rehberi - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2026-02-05T10:31:19+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/claude-ile-arbitrum-dappleri-hizla-olusturmak-kapsamli-bir-kod-yetenegi-gelistirme-rehberi\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/claude-ile-arbitrum-dappleri-hizla-olusturmak-kapsamli-bir-kod-yetenegi-gelistirme-rehberi\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/claude-ile-arbitrum-dappleri-hizla-olusturmak-kapsamli-bir-kod-yetenegi-gelistirme-rehberi\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Claude ile Arbitrum dApp&#8217;leri H\u0131zla Olu\u015fturmak: Kapsaml\u0131 Bir Kod Yetene\u011fi Geli\u015ftirme Rehberi\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Claude ile Arbitrum dApp'leri H\u0131zla Olu\u015fturmak: Kapsaml\u0131 Bir Kod Yetene\u011fi Geli\u015ftirme Rehberi - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/claude-ile-arbitrum-dappleri-hizla-olusturmak-kapsamli-bir-kod-yetenegi-gelistirme-rehberi\/","og_locale":"tr_TR","og_type":"article","og_title":"Claude ile Arbitrum dApp'leri H\u0131zla Olu\u015fturmak: Kapsaml\u0131 Bir Kod Yetene\u011fi Geli\u015ftirme Rehberi","og_description":"Arbitrum, Ethereum'un \u00f6l\u00e7eklenebilirlik sorunlar\u0131na \u00e7\u00f6z\u00fcm sunan \u00f6nde gelen bir Katman-2 rollup teknolojisidir. D\u00fc\u015f\u00fck i\u015flem \u00fccretleri ve y\u00fcksek i...","og_url":"https:\/\/fatihsoysal.com\/blog\/claude-ile-arbitrum-dappleri-hizla-olusturmak-kapsamli-bir-kod-yetenegi-gelistirme-rehberi\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2026-02-05T10:31:19+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"15 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/claude-ile-arbitrum-dappleri-hizla-olusturmak-kapsamli-bir-kod-yetenegi-gelistirme-rehberi\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/claude-ile-arbitrum-dappleri-hizla-olusturmak-kapsamli-bir-kod-yetenegi-gelistirme-rehberi\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Claude ile Arbitrum dApp&#8217;leri H\u0131zla Olu\u015fturmak: Kapsaml\u0131 Bir Kod Yetene\u011fi Geli\u015ftirme Rehberi","datePublished":"2026-02-05T10:31:19+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/claude-ile-arbitrum-dappleri-hizla-olusturmak-kapsamli-bir-kod-yetenegi-gelistirme-rehberi\/"},"wordCount":2505,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/claude-ile-arbitrum-dappleri-hizla-olusturmak-kapsamli-bir-kod-yetenegi-gelistirme-rehberi\/#respond"]}],"copyrightYear":"2026","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/claude-ile-arbitrum-dappleri-hizla-olusturmak-kapsamli-bir-kod-yetenegi-gelistirme-rehberi\/","url":"https:\/\/fatihsoysal.com\/blog\/claude-ile-arbitrum-dappleri-hizla-olusturmak-kapsamli-bir-kod-yetenegi-gelistirme-rehberi\/","name":"Claude ile Arbitrum dApp'leri H\u0131zla Olu\u015fturmak: Kapsaml\u0131 Bir Kod Yetene\u011fi Geli\u015ftirme Rehberi - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2026-02-05T10:31:19+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/claude-ile-arbitrum-dappleri-hizla-olusturmak-kapsamli-bir-kod-yetenegi-gelistirme-rehberi\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/claude-ile-arbitrum-dappleri-hizla-olusturmak-kapsamli-bir-kod-yetenegi-gelistirme-rehberi\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/claude-ile-arbitrum-dappleri-hizla-olusturmak-kapsamli-bir-kod-yetenegi-gelistirme-rehberi\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Claude ile Arbitrum dApp&#8217;leri H\u0131zla Olu\u015fturmak: Kapsaml\u0131 Bir Kod Yetene\u011fi Geli\u015ftirme Rehberi"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/38678","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=38678"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/38678\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=38678"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=38678"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=38678"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}