导航:首页 > 以太坊区 > 以太坊如何调用其他合约

以太坊如何调用其他合约

发布时间:2024-12-08 20:13:20

1. 浠ュお鍧婃櫤鑳藉悎绾︽槸浠涔


浠ュお鍧婃櫤鑳藉悎绾︽槸浠涔堬紵
浠ュお鍧婏紙Ethereum锛夋槸涓嬩竴浠e尯鍧楅摼骞冲彴锛屽畠鏄姣旂壒甯佸尯鍧楅摼鎶鏈鐨勮繘涓姝ュ彂灞曪紝鑷村姏浜庝负鍘讳腑蹇冨寲搴旂敤鎻愪緵鏇村姞瀹屽杽鐨勬敮鎸併傝屾櫤鑳藉悎绾︼紝鍒欐槸浠ュお鍧婂疄鐜板尯鍧楅摼鏅鸿兘鍖栫殑鏍稿績鎵鍦ㄣ
鏅鸿兘鍚堢害鏄鍩轰簬鍖哄潡閾炬妧鏈鐨勪竴绉嶆柊鍨嬪簲鐢ㄧ▼搴忥紝瀹冩槸涓绉嶅叿鏈夎嚜鎴戞墽琛岃兘鍔涚殑绠鍗曞悎鍚岋紝涓嶄緷璧栦簬绗涓夋柟鍙闈犵殑浜哄伐绯荤粺銆傛櫤鑳藉悎绾︾殑浠g爜閫昏緫銆佹潈鍒╄瘉鏄庣瓑淇℃伅琚璁板綍鍦ㄥ尯鍧楅摼涓婏紝鍙浠ュ疄鐜颁氦鏄撳畨鍏ㄣ佹瘉绉熼忔槑銆佷笉鍙绡℃敼绛夌壒鎬э紝涓哄悇绉嶆柊鍨嬪簲鐢ㄧ▼搴忕殑寮鍙戞彁渚涙墡瀹炵殑鍩虹銆
濡備綍瀹炵幇浠ュお鍧婃櫤鑳藉悎绾︼紵
浠ュお鍧婃櫤鑳藉悎绾︽槸閫氳繃涓绉嶈绉颁负鈥滀互澶鍧婅櫄鎷熸満鈥濈殑鏂瑰紡鏉ュ疄鐜扮殑銆傚畠鏄涓涓鍩轰簬Turing瀹屽囩殑铏氭嫙鏈猴紝鍙浠ュ疄鐜版櫤鑳藉悎绾︾殑鍏蜂綋鎿嶄綔銆傚湪浠ュお鍧婅櫄鎷熸満涓婏紝寮鍙戣呬滑鍙浠ヤ娇鐢ㄧ紪绋嬭瑷Solidity缂栧啓鏅鸿兘鍚堢害鐨勭浉鍏充唬鐮侀昏緫锛岀劧鍚庡皢浠g爜閫昏緫涓婁紶鍒颁互澶鍧婄綉缁滀笂杩涜岄獙璇併佺紪璇戝拰鎵ц屻
鍦ㄤ互澶鍧婄殑鏅鸿兘鍚堢害涓锛岄櫎浜嗗畬鎴愯浆璐︺佹敮浠樼瓑鍩烘湰鍔熻兘澶栵紝杩樺彲浠ュ疄鐜板悇绉嶅嶆潅鐨勯噾铻嶅悎绾︺佹姇绁ㄥ喅绛栥佹暟瀛楄韩浠介獙璇佸拰鐗╄仈缃戞帶鍒剁瓑搴旂敤锛屼互婊¤冻瀵规暟鎹鍜岀墿鍝佷氦鎹㈢殑鏇村氶渶姹傘傝繖绉嶆櫤鑳藉悎绾︾殑搴旂敤鏋佸ぇ鍦颁績杩涗簡鍘讳腑蹇冨寲鐨勪氦鏄撳拰淇′换鏈哄埗鐨勫缓绔嬶紝浣夸汉浠浠ユ洿蹇鐨勯熷害瀹屾垚鐩稿簲鐨勬搷浣溿
浠ュお鍧婃櫤鑳藉悎绾︾殑搴旂敤鍦烘櫙
浠ュお鍧婃櫤鑳藉悎绾︿綔涓轰竴涓闈╁懡鎬х殑鎶鏈锛屽凡缁忓湪鍚勪釜棰嗗煙寰楀埌浜嗗簲鐢ㄣ
鍦ㄩ摱琛屽拰閲戣瀺鏈烘瀯鏂瑰博浣欐奸潰锛屼互澶鍧婃櫤鑳藉悎绾﹀彲浠ョ敤浜庡湪鍚勪釜鍥藉朵箣闂村疄鐜拌法澧冭浆璐︺佹眹娆句互鍙婂栧竵鍏戞崲绛夋搷浣溿傚悓鏃讹紝瀹冭繕鍙浠ュ垱寤洪摱琛岄棿瑙e喅淇$敤椋庨櫓鍜屽楁湡淇濆肩殑閲戣瀺鍚堢害銆傚湪淇濋櫓鍏鍙告柟闈锛屼互澶鍧婃櫤鑳藉悎绾﹀彲浠ョ敤浜庡彇娑堜腑闂翠汉锛屼粠鑰屾彁楂樺氱嶄氦鏄撳拰鐞嗚禂鐨勬晥鐜囥傚湪鍒堕犱笟鍜屼緵搴旈摼鏂归潰锛屼互澶鍧婃櫤鑳藉悎绾﹀彲浠ョ敤浜庣‘淇濇暟鎹鍙闈犳э紝鎻愰珮閲囪喘鏁堢巼鍜岄檷浣庢垚鏈銆
鎬讳箣锛屼互澶鍧婃櫤鑳藉悎绾︾殑搴旂敤鍓嶆櫙骞块様锛屽彲浠ュぇ澶ф敼鍠勪紶缁熶氦鏄撶殑鏁堢巼鍜屽畨鍏ㄦэ紝鍚屾椂涔熸湁鏈涢犺嗚稿氫紶缁熻屼笟鐨勭矖鍐插晢涓氭ā寮忋

2. 以太坊合约中一个合约是否可以调用另外一个合约

可以的,参考合约之间的交互数字货币交易平台币汇。比如我正试图从另一个工厂合约中签智能合约,然后重新部署新智能合约的地址。然而,它返回的地址是交易哈希值而不是合约地址。我相信这是因为当地址被返回时合约尚未开采。当我使用Web3部署智能合约时,它似乎一直等到智能合约被部署完成后才输出合约地址。

3. 使用Web3J与第三方合约交互——批量转账

之前使用NodeJs与智能合约交互,都是访问的自己部署的合约。最近要对线上第三方合约进行转账操作,人数比较多,一笔笔操作起来手指都点断了还容易出错。既然代币Token都遵守ERC20协议,肯定有统一的Transfer(转账)方法供客户端调用,那么编写程序实现自动转账应该可以实现,去查了相关资料发现web3j是不错的选择。

轻量级客户端与以太坊交互的Java库。

既然是调用第三方合约那么肯定需要知道合约地址,合约地址定义了到哪里去访问合约;
ABI(Application Binary Interface): 应用程序二进制接口,定义了智能合约提供的方法功能

若是无法获取到ABI接口,也可以使用solc编译生产bin和abi文件。

(生产代理类时可以指定包路径和类名)

这样一来,便可以使用程序完成批量转账操作。

后来研究发现,使用NodeJs直接调用Web3也可以实现对应功能,不过还是对Java更熟悉一些,就采用了Java的方式。

4. 浠ュお鍧婂備綍澶勭悊鏅鸿兘鍚堢害鐨勮嚜鐢卞害闂棰


浠ュお鍧婂備綍澶勭悊鏅鸿兘鍚堢害鐨勮嚜鐢卞害闂棰橈紵
浠ュお鍧婃槸褰撳墠鏈娴佽岀殑鍖哄潡閾句箣涓锛屽叾鏅鸿兘鍚堢害鎶鏈琚骞挎硾搴旂敤浜庡悇绉嶅満鏅銆傜劧鑰岋紝鏅鸿兘鍚堢害鐨勮嚜鐢卞害闂棰樹粛鐒舵槸涓涓鍊煎緱鍏虫敞鐨勮瘽棰樸傚湪浠ュお鍧婄敓鎬佺郴缁熶腑锛屾櫤鑳藉悎绾︾殑鎵ц岀粨鏋滃彈鍒板氭柟闈㈠洜绱犵殑褰卞搷锛屽傚悎绾︿唬鐮佺殑澶嶆潅搴︺佷氦鏄撹垂鐢ㄧ殑璁剧疆銆佸悎绾﹂棿鐨勪氦浜掔瓑绛夈傛湰鏂囧皢鎺㈣ㄤ互澶鍧婂湪澶勭悊鏅鸿兘鍚堢害鑷鐢卞害闂棰樻椂閲囧彇鐨勭瓥鐣ャ
浠ュお鍧婃櫤鑳藉悎绾︾殑鑷鐢卞害涓昏佸寘鎷浠ヤ笅涓ゆ柟闈锛
涓鏄鍚堢害鐨勭紪鍐欒嚜鐢卞害銆備互澶鍧婃敮鎸佸氱嶇紪绋嬭瑷锛屽紑鍙戣呭彲浠ュ湪涓嶅悓鐨勮瑷鍜屾嗘灦閲岃嚜鐢遍夋嫨锛岃繖寰堝ぇ绋嬪害涓婂炲己浜嗗悎绾︾殑鍙鎵╁睍鎬у拰鐏垫椿鎬с傜劧鑰岋紝杩欎篃甯︽潵浜嗗畨鍏ㄦх殑鎸戞垬銆傚洜涓轰笉鍚岀殑璇瑷鍜屾嗘灦鏈韬灏卞瓨鍦ㄦ紡娲烇紝濡傛灉鍚堢害缂栧啓鑰呮病鏈変粩缁嗚冭檻杩欎簺闂棰橈紝灏卞彲鑳藉艰嚧涓ラ噸鐨勫畨鍏ㄩ棶棰樸
浜屾槸鍚堢害鐨勬搷浣滆嚜鐢卞害銆備互澶鍧婁笂鐨勬櫤鑳藉悎绾﹀彲浠ヨ鍏朵粬鍚堢害鎴栬呭栭儴璐︽埛璋冪敤锛岃繖鎰忓懗鐫鍚堢害鐨勬墽琛岀粨鏋滀細鍙楀埌鍏朵粬鍚堢害鎴栬呰处鎴风殑褰卞搷銆傛ゅ栵紝浜ゆ槗璐圭敤銆佺綉缁滄嫢濉炵瓑鍥犵礌涔熶細瀵瑰悎绾︾殑鎵ц岀粨鏋滀骇鐢熷奖鍝嶃傝繖浜涘洜绱犵殑鑷鐢卞害寰堝ぇ绋嬪害涓婂炲姞浜嗗悎绾︾殑澶嶆潅搴︼紝鍚屾椂涔熷炲姞浜嗗悎绾︽墽琛岀殑椋庨櫓銆
涓轰簡搴斿规櫤鑳藉悎绾﹁嚜鐢卞害闂棰橈紝浠ュお鍧婇噰鍙栦簡涓绯诲垪鎺鏂姐傚叾涓鏈閲嶈佺殑涓椤规槸浠ュお鍧婅櫄鎷熸満锛圗VM锛夈侲VM鏄浠ュお鍧婁笂鐨勮櫄鎷熸満锛屾棬鍦ㄥ疄鐜板悎绾︾殑蹇閫熴佸彲闈犮佸畨鍏ㄦ墽琛屻侲VM閫氳繃瀛楄妭鐮佺殑鏂瑰紡鎵ц屾櫤鑳藉悎绾︼紝閬垮厤浜嗚瑷鍜屾嗘灦鐨勯檺鍒躲傚悓鏃讹紝EVM杩樻彁渚涗簡涓瀹氱殑鏈哄埗鏉ラ槻姝㈠悎绾︽墽琛屼腑鐨勫紓甯告儏鍐碉紝姣斿傚唴瀛樻孩鍑恒侀櫎闆剁瓑銆傝繖浜涙満鍒舵湁鍔╀簬鎺у埗鏅鸿兘鍚堢害鐨勮嚜鐢卞害锛屾彁楂樺叾鎵ц岀殑鍙闈犳у拰瀹夊叏鎬с
姝ゅ栵紝浠ュお鍧婅繕鎻愪緵浜嗕竴浜涢珮绾у姛鑳芥潵鎺у埗鏅鸿兘鍚堢害鐨勬墽琛屻傚叾涓鏈甯哥敤鐨勬槸鍚堢害鎵ц岀殑Gas闄愬埗銆傛瘡涓鏅鸿兘鍚堢害鎵ц岀殑鏈闀挎椂闂磋闄愬埗鍦ㄤ竴瀹氭暟閲忕殑Gas鍐咃紝杩欐牱鍙浠ラ伩鍏嶅悎绾︽墽琛岃繃闀挎椂闂磋屽艰嚧鍏朵粬鍚堢害鍜岃处鎴风殑绛夊緟銆傚悓鏃讹紝鍚堢害鎿嶄綔鐨凣as娑堣椾篃琚闄愬埗鍦ㄤ竴瀹氳寖鍥村唴锛岃繖鏈夊姪浜庨槻姝㈡伓鎰忓悎绾﹀崰鐢ㄥお澶氱殑璁$畻璧勬簮銆
鎬讳箣锛屾櫤鑳藉悎绾﹁嚜鐢卞害鏄浠ュお鍧婃櫤鑳藉悎绾﹂潰涓寸殑涓涓鎸戞垬锛屼絾杩欎篃鏄鍖哄潡閾炬妧鏈鍙戝睍鐨勫繀缁忎箣璺銆備互澶鍧婇氳繃EVM鍜孏as闄愬埗绛夋満鍒舵潵鎺у埗鍚堢害鐨勬墽琛岋紝鎻愰珮浜嗗悎绾︾殑鍙闈犳у拰瀹夊叏鎬э紝鍚屾椂涔熶负寮鍙戣呮彁渚涗簡鏇村氱殑鑷鐢卞害鍜岀伒娲绘с傜浉淇¢殢鐫鍖哄潡閾炬妧鏈鐨勪笉鏂鍙戝睍锛屾櫤鑳藉悎绾︾殑鑷鐢卞害闂棰樹篃灏嗗緱鍒版洿濂界殑瑙e喅銆

5. solidity智能合约(3):使用truffle编译部署及测试合约

首先,我们将通过实际操作来演示如何使用Solidity编写以太坊智能合约,并让它们运行起来。
智能合约文件应保存在项目的`contracts`目录下。
接下来,在`migrations`目录下创建一个`test`目录,以规范地存放测试文件。如果直接在根目录下存放测试文件,虽然可以工作,但不够规范。
为了编译Truffle项目中的合约,请确保已切换到项目根目录,并在终端中输入以下命令:
首次运行此命令时,Truffle将编译项目中的所有合约。在之后的运行中,它将仅编译自上次编译以来有更改的合约。如果我们希望覆盖这一行为,可以选择使用`--all`选项重新运行上述命令。
编译完成后的目标文件`Artifacts`将存储在`build/contracts/`目录中,这是相对于项目根目录的位置(如果该目录不存在,Truffle将创建它)。
请注意,`Artifacts`文件是Truffle框架内部工作的一部分,它们在成功部署应用程序时扮演关键角色。不应编辑这些文件,因为它们将被合约编译和部署所覆盖。
合约编译成功后,接下来是迁移脚本(JavaScript文件)。这些脚本帮助我们把合约部署到以太坊网络上。它们负责存储我们的部署任务,并假设我们的部署需求会随时间变化。随着项目的发展,我们将创建新的迁移脚本来推动区块链的进一步发展。
部署合约的命令如下:
执行此命令将部署`migrations`目录中的所有迁移文件。最简单的迁移脚本只是一组管理部署的脚本。如果我们的迁移脚本之前已成功运行,`truffle migrate`将从上次运行的迁移开始执行,只部署新创建的迁移。如果没有新的迁移,`truffle migrate`将不会执行任何操作。在进行本地测试时,请确保在运行`migrate`命令之前安装并启动了Ganache等测试区块链。
最后,让我们来看一个测试脚本的例子。在测试脚本中,我们输入了数值100,合约返回的值是64(这个值是十六进制格式,转换为十进制就是100)。

6. 以太币如何杠杆交易

资金划转
在进行永续合约交易之前,需要先进行资金划转,将其他账户的币划转至永续合约账户才能做永续合约交易。 打开欧易OKX官网以太坊合约选择想要划转的币种,将数字资产从资金账户/余币宝等其他账户划转到永续合约账户选择合约类型点击官网首页左上方交易,选择永续合约,进入永续合约交易界面
通过以上介绍,相信大家对于以太坊如何交易买卖这个问题已经有所了解,投资者在进行以太坊交易的时候,最好选择现货交易,尤其是币圈新手,毕竟现货交易只要没有买入归零币, 需要注意的是:借贷是有利息的,利率是0.098%,按照现在的价格差不多是借一个以太坊一天的利息是1.6元左右.由此可见,杠杆交易第一步为借币,完成借币后进入投资交易环节,

阅读全文

与以太坊如何调用其他合约相关的资料

热点内容
ran加拿大区块链基金会会长 浏览:598
最新比特币全网算力多少 浏览:56
24X6的算力算法 浏览:783
区块链永恒链怎么翻译 浏览:543
btc卡冻结 浏览:199
以太坊的执行环境 浏览:992
区块链path 浏览:132
以太坊发展下线 浏览:850
是非区块链技术投机与泡沫 浏览:873
监管会关比特币矿池吗 浏览:129
日本民众怎么买btc 浏览:412
虚拟数字货币犯法吗 浏览:265
30秒比特币教学 浏览:301
还会出现第二次比特币 浏览:142
比特币中国银行禁止 浏览:118
区块链公司注册条件申请设立 浏览:290
苹果手机上股票怎么看比特币 浏览:345
国家政府对区块链的态度 浏览:116
区块链是怎么查交易的 浏览:894
以太坊网币有多少 浏览:137