Bereitstellen eines Smart Contract mit mehreren Solidity-Dateien

Ich habe einen Vertrag, der 4 .sol-Dateien enthält, und wenn ich seinen Bytecode und seine API wie folgt generiere:

> solc --bin GreenToken.sol
> solc --abi GreenToken.sol

Ich erhalte:

======= BasicToken.sol:BasicToken =======
Binary:
6060604052341561000f57...

======= GreenToken.sol:GreenToken =======
Binary:
6060604052341561000f5760...

======= Ownable.sol:Ownable =======
Binary:
6060604052341561000f5760008...

======= SafeMath.sol:SafeMath =======
Binary:
604c602c600b82828239...

Der Smart Contract enthält diese 4 .sol-Dateien

BasicToken.sol, GreenToken.sol, Ownable.sol,SafeMath.sol

Ich bekomme auch 4 API. Die Frage ist, für die Bereitstellung des Vertrags muss ich welchen Bytecode und welche API verwenden? Falls ich alle verwenden muss, wie man sie zusammenführt?

Antworten (1)

Sie müssen nur GreenToken bytecode/abi bereitstellen – die anderen werden in GreenToken kompiliert, weil ich annehme, dass Sie sie in diesen Vertrag importiert und GreenToken mit Ownable und BasicToken erweitert haben.

Wenn Sie einen anderen Vertrag als Variable in Ihrem Vertrag verwenden würden, müssten Sie auf diesen Vertrag anhand seiner Adresse verweisen und eine Schnittstelle dafür bereitstellen (ohne Implementierung, da dies an der Vertragsadresse erfolgt, auf die Sie verweisen).

Wenn das Ihre Frage nicht beantwortet, posten Sie den Quellcode, vielleicht habe ich Ihre Frage falsch verstanden. Hoffentlich hilft das.