Open hthuang996 opened 3 years ago
[issue 1] Install platon-truffle failed step 1: install nvm step 2: install node 12.18 with command "nvm install 12.18" step 3: install platon-truffle with command "npm install -g platon-truffle@1.0.0" Error: npm WARN deprecated mkdirp@0.5.1: Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.) /root/.nvm/versions/node/v12.18.4/bin/platon-truffle -> /root/.nvm/versions/node/v12.18.4/lib/node_modules/platon-truffle/build/cli.bundled.js
platon-truffle@1.0.0 postinstall /root/.nvm/versions/node/v12.18.4/lib/node_modules/platon-truffle node ./scripts/postinstall.js
sh: 1: node: Permission denied
npm ERR! code ELIFECYCLE
npm ERR! syscall spawn
npm ERR! file sh
npm ERR! errno ENOENT
npm ERR! platon-truffle@1.0.0 postinstall: node ./scripts/postinstall.js
npm ERR! spawn ENOENT
npm ERR!
npm ERR! Failed at the platon-truffle@1.0.0 postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in: npm ERR! /root/.npm/_logs/2021-11-18T09_00_56_335Z-debug.log
Please try it with a lower version of node, such as 10.18.1
I feel there are no more issues with the contract migration, but there are still a lot of issues with the non-contract parts, including the use of infrastructure such as Remix, Hardhat, and SDK.
Chainlink's node application uses Go-Ethereum, and when I completely replaced it with PlatON-Go, it didn't compile properly due to the following issues
1.Address
Ethereum uses EIP55 and PlatON uses Bech32, which is difficult to deal with and requires familiarity with the address principle.
2.The lack of code Compared to Ethereum, PlatON removed some code, such as dynamic_fee_tx.go, access_list_tx.go, legacy_tx.go, these files could not be found. Also missing are functions and data structures such as ConvertType, MetaData, EncryptDataV3, and many others.
3.Data structure changes GasFeeCap and GasTipCap fields are missing in CallMsg. CryptoJSON was changed to cryptoJSON, causing external import to fail. Ethereum's TxData is an interface, which PlatON does not have. Instead, it defines a structure named txdata. There is no func NewTx(inner TxData) *Transaction function.
I also found that a lot of code was not deleted, but was commented, I don't know why.
Any incompatibility issues with the underlying tools can be raised. Then try to fix these infrastructure issues and adapt them to PlatON|Alaya, and submit the fixed code along with the documentation. The more deliverables you have and the more usable they are, the more you will be rewarded.
these questions make sense, please add the question tag [issue+N] I can get someone to assist you in confirming and fixing them
Please try it with a lower version of node, such as 10.18.1
[issue 1] Install platon-truffle failed step 1: install nvm step 2: install node 12.18 with command "nvm install 12.18" step 3: install platon-truffle with command "npm install -g platon-truffle@1.0.0" Error: npm WARN deprecated mkdirp@0.5.1: Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.) /root/.nvm/versions/node/v12.18.4/bin/platon-truffle -> /root/.nvm/versions/node/v12.18.4/lib/node_modules/platon-truffle/build/cli.bundled.js
platon-truffle@1.0.0 postinstall /root/.nvm/versions/node/v12.18.4/lib/node_modules/platon-truffle node ./scripts/postinstall.js
sh: 1: node: Permission denied npm ERR! code ELIFECYCLE npm ERR! syscall spawn npm ERR! file sh npm ERR! errno ENOENT npm ERR! platon-truffle@1.0.0 postinstall:
node ./scripts/postinstall.js
npm ERR! spawn ENOENT npm ERR! npm ERR! Failed at the platon-truffle@1.0.0 postinstall script. npm ERR! This is probably not a problem with npm. There is likely additional logging output above.npm ERR! A complete log of this run can be found in: npm ERR! /root/.npm/_logs/2021-11-18T09_00_56_335Z-debug.log
@hthuang996 [issue1] Is this problem solved?
Chainlink's node application uses Go-Ethereum, and when I completely replaced it with PlatON-Go, it didn't compile properly due to the following issues 1.Address Ethereum uses EIP55 and PlatON uses Bech32, which is difficult to deal with and requires familiarity with the address principle.
2.The lack of code Compared to Ethereum, PlatON removed some code, such as dynamic_fee_tx.go, access_list_tx.go, legacy_tx.go, these files could not be found. Also missing are functions and data structures such as ConvertType, MetaData, EncryptDataV3, and many others.
3.Data structure changes GasFeeCap and GasTipCap fields are missing in CallMsg. CryptoJSON was changed to cryptoJSON, causing external import to fail. Ethereum's TxData is an interface, which PlatON does not have. Instead, it defines a structure named txdata. There is no func NewTx(inner TxData) *Transaction function.
I also found that a lot of code was not deleted, but was commented, I don't know why.
for question 1, we use bech32 in our address, relevant instructions are here .for specific usage, please refer to here.
for question2 and 3,These are the new features of Ethereum, PlatON not support yet, and we will consider supporting them in the future.
Please try it with a lower version of node, such as 10.18.1
[issue 1] Install platon-truffle failed step 1: install nvm step 2: install node 12.18 with command "nvm install 12.18" step 3: install platon-truffle with command "npm install -g platon-truffle@1.0.0" Error: npm WARN deprecated mkdirp@0.5.1: Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.) /root/.nvm/versions/node/v12.18.4/bin/platon-truffle -> /root/.nvm/versions/node/v12.18.4/lib/node_modules/platon-truffle/build/cli.bundled.js
platon-truffle@1.0.0 postinstall /root/.nvm/versions/node/v12.18.4/lib/node_modules/platon-truffle node ./scripts/postinstall.js
sh: 1: node: Permission denied npm ERR! code ELIFECYCLE npm ERR! syscall spawn npm ERR! file sh npm ERR! errno ENOENT npm ERR! platon-truffle@1.0.0 postinstall:
node ./scripts/postinstall.js
npm ERR! spawn ENOENT npm ERR! npm ERR! Failed at the platon-truffle@1.0.0 postinstall script. npm ERR! This is probably not a problem with npm. There is likely additional logging output above. npm ERR! A complete log of this run can be found in: npm ERR! /root/.npm/_logs/2021-11-18T09_00_56_335Z-debug.log@hthuang996 [issue1] Is this problem solved?
Solved, execute command:
npm config set unsafe-perm true
[Issue 2]The lack of code Compared to Ethereum, PlatON removed some code, such as dynamic_fee_tx.go, access_list_tx.go, legacy_tx.go, these files could not be found. Also missing are functions and data structures such as ConvertType, MetaData, EncryptDataV3, and many others.
[Issue 3]Data structure changes GasFeeCap and GasTipCap fields are missing in CallMsg. CryptoJSON was changed to cryptoJSON, causing external import to fail. Ethereum's TxData is an interface, which PlatON does not have. Instead, it defines a structure named txdata. There is no func NewTx(inner TxData) *Transaction function.
Project migration delivery(2000U)and issue feedback(600U) rewards have been issued (2021.12.29 Base Price 0.12)
Project Name: Chainlink
Project repository: https://github.com/smartcontractkit/chainlink
Development tools/resources used: Remix,Truffle,MetaMask,Ethereum Web3.js, Yarn, Go
Scheduled completion date: November 20, 2021
The expected content of delivery: Document guides for Chainlink migration and code of Chainlink
Contact info: https://t.me/hthuang996
LAT address (PlatON main network LAT account address for receiving rewards): lat10tr4txfk8jvgme4g0hhey94w8nn8kkv68t9f6v